如何使用列表理解获得两个列表的并集?

Cod*_*ddy 39 python list-comprehension

请考虑以下列表:

a = ['Orange and Banana', 'Orange Banana']
b = ['Grapes', 'Orange Banana']
Run Code Online (Sandbox Code Playgroud)

如何获得以下结果:

c = ['Orange and Banana', 'Orange Banana', 'Grapes']
Run Code Online (Sandbox Code Playgroud)

alv*_*vas 65

如果您有2个以上的列表,则应使用:

>>> a = ['Orange and Banana', 'Orange Banana']
>>> b = ['Grapes', 'Orange Banana']
>>> c = ['Foobanana', 'Orange and Banana']
>>> list(set().union(a,b,c))
['Orange and Banana', 'Foobanana', 'Orange Banana', 'Grapes']
Run Code Online (Sandbox Code Playgroud)

  • ```set(a + b + c)``` 应​​该更快,因为它需要更少的操作 (3认同)
  • 为什么将`a,b,c`放入列表中以便再次爆炸该列表?只需要`set().union(a,b,c)`. (2认同)
  • 通过使用set(),可以消除列表中的重复项。注意,“'Orange Banana'”在输入中出现两次,但在输出中仅出现一次。有时这可能是理想的,有时则不是。需要注意的一个重要特征是,我们确实需要知道如何同时使用两种方法。 (2认同)

CT *_*Zhu 13

>>> list(set(a).union(b))
['Orange and Banana', 'Orange Banana', 'Grapes']
Run Code Online (Sandbox Code Playgroud)

谢谢@abarnert