• Offers
    • RegisterLogin
      • Learn More
    PythonPoint.netPythonPoint.net
    • Offers
    • RegisterLogin
      • Learn More

      Python

      SKILL IS IMPORTANT THAN DEGREE Be skill full.
      • Home
      • Blog
      • Python
      • How to compare two lists in Python

      How to compare two lists in Python

      • Posted by Python Point Team
      • Categories Python
      • Date November 16, 2020
      • Comments 0 comment

      In comparing lists, we are checking the data items of a list against equality with data items of another list. In this article, we will discuss different ways to compare two lists.

      Method 1: Using list comprehension

      l1 = [1, 6, 2, 7]
      l2 = [7, 4, 1, 2, 3]
      #r is the list containing elements that are not present in both lists
      r = [i for i in l1 +l2 if i not in l1 or i not in l2]
      
      if (r):
          print("Lists are not equal")
          print(r)
      else:
          print("Lists are equal")
      

      Output:

      Lists are not equal
      [6, 4, 3]

      Method 2: Using sort() method and == operator

      In this method, we are sorting the lists first. If the two lists are equal, then the elements would reside at the same index positions. == operator compares element by element.

      l1 = [1, 6, 2, 7]
      l2 = [7, 4, 1, 2, 3]
      l3 = [6, 2, 1, 7]
      
      l1.sort()
      l2.sort()
      l3.sort()
      
      if l1==l2:
          print("Lists l1 and l2 are equal")
      else:
          print("Lists l1 and l2 are not equal")
      
      if l1==l3:
          print("Lists l1 and l3 are equal")
      else:
          print("Lists l1 and l3 are not equal")

      Output:

      Lists l1 and l2 are not equal
      Lists l1 and l3 are equal

      Method 3: Using collection.counter method

      This method can be used to compare lists efficiently. The counter() function counts the frequency of the items in a list and stores the data as a dictionary in the format <value>:<frequency>. If two lists have the exact same dictionary output, we can assume that the lists are the same.

      import collections
      
      l1 = [1, 6, 2, 7]
      l2 = [7, 4, 1, 2, 3]
      l3 = [6, 2, 1, 7]
      
      if collections.Counter(l1) == collections.Counter(l2):
          print("Lists l1 and l2 are equal")
      else:
          print("Lists l1 and l2 are not equal")
      
      if collections.Counter(l1) == collections.Counter(l3):
          print("Lists l1 and l3 are equal")
      else:
          print("Lists l1 and l3 are not equal")

      Output:

      Lists l1 and l2 are not equal
      Lists l1 and l3 are equal
      • Share:
      author avatar
      Python Point Team

      Previous post

      How to import numpy in python?
      November 16, 2020

      Next post

      How to find length of string in Python
      November 16, 2020

      You may also like

      “not in” belongs to which type of operator in python?
      29 December, 2020

      “not in” belongs to the membership operator in python. Membership operator have two operators “in” and “not in”. They are used to test whether a value or variable is found in a sequence (string, list, tuple, set and dictionary). e.g., …

      What is the difference between Python 2 and 3
      8 December, 2020

      Python 2 and 3 got many differences between them. In this article, we will go through some important differences between them. While comparing these two, it is pretty clear that python 3 is much better than 2. Python 2 is …

      How To Check If A List Is Empty In Python
      7 December, 2020

      In this article, we will see how to check if a list is empty or not. A list is said to be empty when there are no elements in the list. Method 1: Output: Method 2: Output:

      Subscribe
      Login
      Notify of
      Please login to comment
      0 Discussion
      Inline Feedbacks
      View all comments

      Latest Courses

      (Hindi) Ways to earn minimum 1 Lakh Per month as Programmer

      (Hindi) Ways to earn minimum 1 Lakh Per month as Programmer

      ₹10,000
      (HINDI) Full Stack Web Development In Python 3.8 And Django 3.1

      (HINDI) Full Stack Web Development In Python 3.8 And Django 3.1

      ₹25,000 ₹2,500

      Latest Posts

      • How to get access to the course after purchase?
      • “not in” belongs to which type of operator in python?
      • What is the difference between Python 2 and 3
      • How To Check If A List Is Empty In Python
      • How to Change Line in Python
      Contact
      •   support@pythonpoint.com

      We get you the best Python Courses and Blogs aiming to provide skill.

      We Believe Skill is much more important than a Degree

      Company
      • About Us
      • Blog
      • Offers
      • Contact
      Useful Links
      • Courses
      Support
      • Need Support

      © 2020 ALL RIGHTS RESERVED​ PYTHONPOINT.NET

      PythonPoint

      • Terms of Use
      • Refund Policy
      • Privacy Policy

      Login with your site account

      Lost your password?

      Not a member yet? Register now

      Register a new account

      Are you a member? Login now

      wpDiscuz