2015-02-06 57 views
0

我開始使用Python,目前正在學習列表推導,所以這可能聽起來很奇怪。設置工會,列表理解

問題:是否可以使用列表理解來創建t和s中沒有重複項的元素列表?有兩個類似的聯合,但使用列表,而不是...?

我使用基本的Python,所以我不允許任何使用快捷鍵「保留」的話...

回答

2

事實上,你正在試圖做兩套的工會。使用set/frozenset數據類型要做到這一點,就不一一列舉理解:

>>> t = ['a', 'b', 'c'] 
>>> s = ['b', 'd', 'e'] 
>>> u = set(t) 
>>> v = set(s) 
>>> u 
set(['a', 'c', 'b']) 
>>> v 
set(['b', 'e', 'd']) 
>>> u | v 
set(['a', 'c', 'b', 'e', 'd']) 
>>> u.union(v) 
set(['a', 'c', 'b', 'e', 'd']) 
>>> u.union(s)     
set(['a', 'c', 'b', 'e', 'd']) 

有關更多信息,請參見本SO answer