Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで2つのリストを比較するにはどうすればよいですか?


Pythonのリストは、同様のアイテムのコレクションです。特定の操作を実行するために、2つのリストのデータ項目を比較する必要がある場合があります。 Pythonで2つのリストを比較する特定の方法について説明します。

list.sort()と==演算子の使用

list.sort()メソッドは2つのリストを並べ替え、==演算子は、2つのリストを項目ごとに比較します。つまり、同じ位置に等しいデータ項目があります。これは、リストに等しいデータ項目値が含まれているかどうかをチェックしますが、リスト内の要素の順序は考慮されません。これは、この比較方法によれば、リスト[1,2,3]がリスト[2,1,3]と等しくなることを意味します。

def compareList(l1,l2):
   l1.sort()
   l2.sort()
   if(l1==l2):
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print("First comparison",compareList(l1,l2))
l3=[1,2,3]
l4=[1,2,4]
print("Second comparison",compareList(l3,l4))

出力

First comparison Equal
Second comparison Non equal

collections.Counter()の使用

このメソッドは、最初のリストの各要素の頻度を2番目のリストと比較することにより、リストの同等性をテストします。この方法では、リストの要素の順序も考慮されません。

import collections
def compareList(l1,l2):
   if(collections.Counter(l1)==collections.Counter(l2)):
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print("First comparison",compareList(l1,l2))
l3=[1,2,3]
l4=[1,2,4]
print("Second comparison",compareList(l3,l4))

出力

First comparison Non equal
Second comparison Equal

sum()、zip()、len()を使用する

このメソッドは、最初に2つのリストの各要素を比較し、それらを1の合計として格納し、次に他のリストの長さと比較します。この方法では、この計算を実行する前に、まず両方のリストの長さが等しいかどうかを確認する必要があります。

このメソッドは、要素の順序もチェックします。これは、リスト[1,2,3]がリスト[2,1,3]と等しくないことを意味します。

def compareList(l1,l2):
   if(len(l1)==len(l2) and len(l1)==sum([1 for i,j in zip(l1,l2) if i==j])):
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print("First comparison",compareList(l1,l2))
l3=[1,2,3]
l4=[1,2,3]
print("Second comparison",compareList(l3,l4))

出力

First comparison Non equal
Second comparison Equal

上記の例のように、最初の比較では、両方のリストのデータ項目は同じですが、要素の順序が異なります。したがって、最初の比較では等しくありません。

==演算子の使用

これは最初の方法の修正です。この方法では、リストは並べ替えなしで比較されるため、この方法ではリスト内のデータ項目の順序が考慮されます。

def compareList(l1,l2):
   if(l1==l2):
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print("First comparison",compareList(l1,l2))
l3=[1,2,3]
l4=[1,2,3]
print("Second comparison",compareList(l3,l4))

出力

First comparison Non equal
Second comparison Equal

これらは、データアイテムの順序を考慮に入れる場合と、データアイテムの順序を考慮しない場合の両方で、Pythonでリストを比較する方法の一部です。


  1. Pythonは辞書の2つのリストを比較します

    この投稿では、Pythonで辞書の2つのリストを比較する方法と、2つのリストの違いを出力する方法について説明します。 比較方法では、キーとを比較します。 辞書の値。 また、Pythonで辞書の2つのリストを比較する場合、要素の順序は重要ではありません。 Pythonの辞書のリストを比較する if __name__ == __main__: list_1 = [ {id: 123-abc, name: Mike, age: 40}, {name: John, age: 34, id: 123-efg}, {age: 32, id: 1

  2. Excel で 2 つの列またはリストを比較する方法 (4 つの適切な方法)

    Excel でさまざまなタスクを実行しているときに、2 つまたは複数の列の一致と相違が必要な状況に遭遇することがよくあります。 Excel で 2 つの列またはリストを比較するのは難しいことではありませんが、方法がたくさんあるので混乱するかもしれません。この記事では、Excel で列を一致させて区別するためのさまざまな手法を探します。 Excel で 2 つの列またはリストを比較する 4 つの方法 2 つの列のデータセットがあります。その列には、スーパー ショップの 2 つのショールームの商品名が含まれています。この 2 つのショールームのデータを比較します。 1.等号演算子を使用して