重複の可能性:
2つのリストから差を取得します。Python
私は2つのリストを持っています
rt = [1,2,3]
dp = [1,2]
リストの要素ではないrt
リストでそれを見つけるための最もPython的な方法は何ですか?3
dp
重複の可能性:
2つのリストから差を取得します。Python
私は2つのリストを持っています
rt = [1,2,3]
dp = [1,2]
リストの要素ではないrt
リストでそれを見つけるための最もPython的な方法は何ですか?3
dp
>>> rt = [1,2,3]
>>> dp = [1,2]
セットを使用できます。
>>> set(rt) - set(dp)
set([3])
またはリスト内包表記:
>>> [x for x in rt if x not in dp]
>>> [3]
編集:jamylakは、メンバーシップルックアップの効率を改善するためにセットを使用できると指摘しました:
>>> dp_set = set(dp)
>>> [x for x in rt if x not in dp_set]
>>> [3]
これらのいずれかが機能します:
set(rt).difference(set(dp))
また
[i for i in rt if i not in dp]
また
set(rt) - set(dp)
それらが両方のセットである場合、これを行うことができます:
set(rt) - set(dp)
あなたはおそらくこれらの1つを探しています:
>>> rt = [1,2,3]
>>> dp = [1,2]
>>> set(rt).issubset(dp)
False
>>> 3 in dp
False
セット減算が必要なようです。
>>> rt = [1,2,3]
>>> dp = [1,2]
>>> set(rt) - set(dp)
set([3])
あなたが望むものの一種。rtの各要素をdpと照合したいということですか?
for num in rt:
if num in dp:
print(num, 'is in dp!')
else:
print(num, 'is not in dp!')