2

私は2つのリストを持っています:

list1 = ['1','2','3','4','5','6']
list2 = ['4','5','6','7','8']

ここで、list2 で欠落している値と追加の値を見つけたいと考えています。

出力は次のようになります。

Missing value = 1,2,3
Additional Value = 7,8
4

1 に答える 1

19

Python セットを使用して違いを一覧表示します。

set(list1).difference(list2)
set(list2).difference(list1)

結果:

>>> print 'Missing values =', ','.join(set(list1).difference(list2))
Missing values = 1,3,2
>>> print 'Additional values =', ','.join(set(list2).difference(list1))
Additional values = 7,8

順序が重要な場合でも、セットを使用する必要があります。

set1, set2 = set(list1), set(list2)
[i for i in list1 if i not in set2]
[i for i in list2 if i not in set1]

結果:

>>> print 'Missing values =', ','.join([i for i in list1 if i not in set2])
Missing values = 1,2,3
>>> print 'Missing values =', ','.join([i for i in list2 if i not in set1])
Additional values = 7,8
于 2013-03-20T16:52:43.197 に答える