Python 集合并集,列表理解

Python 集合并集,列表理解,python,list,set,list-comprehension,Python,List,Set,List Comprehension,我刚开始学习Python,目前正在学习列表理解,所以这听起来可能很奇怪 问题:是否可以使用列表理解在t和s中创建一个没有重复元素的元素列表?有点像两个集合的并集,但使用列表代替 我使用基本python,因此不允许使用任何快捷方式的“保留”字…事实上,您正在尝试实现两个集合的并集。使用数据类型执行此操作,而不是列表理解: >>> t = ['a', 'b', 'c'] >>> s = ['b', 'd', 'e'] >>> u = set(t)

我刚开始学习Python,目前正在学习列表理解,所以这听起来可能很奇怪

问题:是否可以使用列表理解在t和s中创建一个没有重复元素的元素列表?有点像两个集合的并集,但使用列表代替


我使用基本python,因此不允许使用任何快捷方式的“保留”字…

事实上,您正在尝试实现两个集合的并集。使用数据类型执行此操作,而不是列表理解:

>>> 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'])

有关更多信息,请参见此部分。

事实上,您正在尝试将两个集合进行并集。使用数据类型执行此操作,而不是列表理解:

>>> 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'])

有关更多信息,请参见此部分。

事实上,您正在尝试将两个集合进行并集。使用数据类型执行此操作,而不是列表理解:

>>> 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'])

有关更多信息,请参见此部分。

事实上,您正在尝试将两个集合进行并集。使用数据类型执行此操作,而不是列表理解:

>>> 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'])
有关更多信息,请参见此项。

是的,可以“联合”两个列表:

>>> s = [1,2,3,4]
>>> t = [3,5,4,7]
>>> 
>>> s + [x for x in t if x not in s]
[1, 2, 3, 4, 5, 7]
然而,这是糟糕的Python,因为理解部分将扫描整个列表
s
,查找
t
中的每个元素。在实际代码中,您应该使用集合,如@Jérôme所示。

是的,可以“联合”两个列表:

>>> s = [1,2,3,4]
>>> t = [3,5,4,7]
>>> 
>>> s + [x for x in t if x not in s]
[1, 2, 3, 4, 5, 7]
然而,这是糟糕的Python,因为理解部分将扫描整个列表
s
,查找
t
中的每个元素。在实际代码中,您应该使用集合,如@Jérôme所示。

是的,可以“联合”两个列表:

>>> s = [1,2,3,4]
>>> t = [3,5,4,7]
>>> 
>>> s + [x for x in t if x not in s]
[1, 2, 3, 4, 5, 7]
然而,这是糟糕的Python,因为理解部分将扫描整个列表
s
,查找
t
中的每个元素。在实际代码中,您应该使用集合,如@Jérôme所示。

是的,可以“联合”两个列表:

>>> s = [1,2,3,4]
>>> t = [3,5,4,7]
>>> 
>>> s + [x for x in t if x not in s]
[1, 2, 3, 4, 5, 7]
然而,这是糟糕的Python,因为理解部分将扫描整个列表
s
,查找
t
中的每个元素。在实际代码中,应该使用集合,如@Jérôme所示