FirstList = [10, 20, 23, 11, 17]
SecondList = [13, 43, 24, 36, 12]
thirdlist = [num for num in FirstList if num%2==1]
thirdlist.extend([num for num in SecondList if num%2==0])
print(thirdlist)
因此,我的问题是如何擦除thirdlist.extend()
并在一行中编译?我的方法是
thirdlist=[num for num in FirstList if num%2==1 , num1 for num1 in Second ...]
上述示例的所需输出:
[23, 11, 17, 24, 36, 12]'
从某种意义上说,列表理解是生成器表达式的语法包装。在本例中,我将显式使用生成器表达式,并将它们与
itertools.chain
链接在一起。这种方法的优点是创建一个列表对象,而不是两个用于创建第三个最终对象的临时对象为了可读性,您可能还希望使用
filter
而不是生成器表达式或
您可以使用
itertools.chain
而不是+
:一种方法是在一行中同时使用
+
和list comprehension
相关问题 更多 >
编程相关推荐