我Python中的新手, 我有两个列表:如何产生的,从两个列表嵌套列表在python
l1 = ['a','b','c','d']
l2 = ['new']
我想这样
l3 = [('a','new'),('b','new'),('c','new'),('d','new')]
新的名单是什么结合这两个列表的最好方法是什么?
我Python中的新手, 我有两个列表:如何产生的,从两个列表嵌套列表在python
l1 = ['a','b','c','d']
l2 = ['new']
我想这样
l3 = [('a','new'),('b','new'),('c','new'),('d','new')]
新的名单是什么结合这两个列表的最好方法是什么?
>>> from itertools import product
>>> l1 = ['a','b','c','d']
>>> l2 = ['new']
>>> list(product(l1,l2))
[('a', 'new'), ('b', 'new'), ('c', 'new'), ('d', 'new')]
>>> from itertools import repeat
>>> l1 = ['a','b','c','d']
>>> l2 = ['new']
>>> zip(l1,repeat(*l2))
[('a', 'new'), ('b', 'new'), ('c', 'new'), ('d', 'new')]
特别是,使用产品的笛卡尔乘积:
from itertools import product:
l1 = ['a','b','c','d']
l2 = ['new']
# Cast to list for l3 to be a list since product returns a generator
l3 = list(product(l1, l2))
你可以简单地使用列表没有任何功能的理解:
l3 = [(x,y)for x in l1 for y in l2]
谢谢@jamylak。我工作。 – kuslahne
我认为我的其他解决方案更好:D – jamylak
我会使用'repeat'而不是'cycle'。 –