2017-05-14 37 views
0

元組的元素列表我想要從元組列表中的元素項的列表,以便這些元素不屬於其他一些名單,我知道,每個元組包含一個元素我不希望它屬於的列表以及不在該列表中的一個元素。例如,創建從排斥

tuples = [(2,1), (1,4), (1,7), (3,10), (4,3)] 
exclude = [1, 3] 

我期待創建列表

[2, 4, 7, 10] 

這是很容易在一個笨拙的for循環來完成,但似乎像有使用一些功能更Python的方式或列表理解。有任何想法嗎?

+0

規則您排除要素不明確。你的結果列表不應該包含3個元素,而不是4個? – Thanassis

回答

1

實際上並沒有明白的問題。假設這可能是你想要

>>>list(set([j for i in tuples for j in i if not j in exclude])) 
[2, 4, 10, 7] 
+0

好吧,好像我太晚了:) – Guil23

+0

是的,完美的,謝謝! – tobakudan

0

你忘了在你的榜樣4,代碼將返回:

>>>[num for tup in tuples for num in tup if num not in exclude] 
[2, 4, 7, 10, 4] 
0

假設你的要求是轉換元組的列表清單,然後讓獨特的元素在列表中,排除列表排除並排序它們。

from itertools import chain 
tuples_final = sorted(list(set(chain(*tuples))-set(exclude)))