2009-08-03 177 views
3

有沒有更好的方法在python中做到這一點,或者更確切地說:這是一個好辦法嗎?在python列表中查找元組中的唯一元素

x = ('a', 'b', 'c') 
y = ('d', 'e', 'f') 
z = ('g', 'e', 'i') 

l = [x, y, z] 

s = set([e for (_, e, _) in l]) 

我看起來有點醜,但是做什麼,我需要不需要編寫複雜的 「get_unique_elements_from_tuple_list」 功能...;)

編輯:預計S的值被設置([ 'B', 'E' ])

+0

你能解釋一下你想用定義而不是一個例子嗎? – flybywire 2009-08-03 11:19:27

回答

22

這很好,那是什麼套。我會改變的一件事是:

s = set(e[1] for e in l) 

,因爲它增強了可讀性。請注意,我也將列表理解轉換爲生成器表達式;無需創建臨時列表。

相關問題