我敢肯定這個問題已經出現之前,但我找不到一個確切的例子。最好的Pythonic的方式來有條件地追加名單
我有2個列表,並希望將第二個附加到第一個,只有值不在那裏。
到目前爲止,我已經工作的代碼,但不知道是否有一個更好的,更「Python化」是這樣的:
>>> list1
[1, 2, 3]
>>> list2
[2, 4]
>>> list1.extend([x for x in list2 if x not in list1])
>>> list1
[1, 2, 3, 4]
編輯 基礎上提出的意見,這個代碼不滿足加入只有一次,即:
>>> list1 = [1,2,3]
>>> list2 = [2,4,4,4]
>>> list1.extend([x for x in list2 if x not in list1])
>>> list1
[1, 2, 3, 4, 4, 4]
我怎麼會最終只:
[1, 2, 3, 4]
通常情況下,你會使用集合來保持唯一的值。 –
元素的順序是否重要? – thefourtheye
如果'list2'是'[2,4,4]'? – falsetru