2015-02-06 56 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