python中的组合列表
我正在尝试合并两个列表,并希望形成组合python中的组合列表,python,list,python-2.7,combinations,Python,List,Python 2.7,Combinations,我正在尝试合并两个列表,并希望形成组合 a = ['ibm','dell'] b = ['strength','weekness'] 我想形成一些组合,比如[‘ibm的优势’、‘ibm的弱点’、‘戴尔的优势’、‘戴尔的弱点’] 我尝试使用zip或连接列表。我也使用了itertools,但它没有给我想要的输出。请帮忙 a = ['ibm','dell'] b = ['strength','weekness'] c = a + b itertools.combinations(c,2) for a
a = ['ibm','dell']
b = ['strength','weekness']
我想形成一些组合,比如[‘ibm的优势’、‘ibm的弱点’、‘戴尔的优势’、‘戴尔的弱点’]
我尝试使用zip或连接列表。我也使用了itertools,但它没有给我想要的输出。请帮忙
a = ['ibm','dell']
b = ['strength','weekness']
c = a + b
itertools.combinations(c,2)
for a in a:
for b in b:
print a +b
你在找我。试试这个:
import itertools
a = ['ibm', 'dell']
b = ['strength', 'weakness']
[' '.join(x) for x in itertools.product(a, b)]
=> ['ibm strength', 'ibm weakness', 'dell strength', 'dell weakness']
要循环遍历结果,请不要忘记itertools.product()
返回一个只能使用一次的迭代器。如果您以后需要它,请将其转换为一个列表(正如我在上面所做的,使用列表理解),并将结果存储在一个变量中,以备将来使用。例如:
lst = list(itertools.product(a, b))
for a, b in lst:
print a, b
你在找我。试试这个:
import itertools
a = ['ibm', 'dell']
b = ['strength', 'weakness']
[' '.join(x) for x in itertools.product(a, b)]
=> ['ibm strength', 'ibm weakness', 'dell strength', 'dell weakness']
要循环遍历结果,请不要忘记itertools.product()
返回一个只能使用一次的迭代器。如果您以后需要它,请将其转换为一个列表(正如我在上面所做的,使用列表理解),并将结果存储在一个变量中,以备将来使用。例如:
lst = list(itertools.product(a, b))
for a, b in lst:
print a, b
对于a,您需要的不是组合
a = ['ibm','dell']
b = ['strength','weekness']
嵌套for循环也可以工作:
for x in a:
for y in b:
c = a + b
print(c)
对于a,您需要的不是组合
a = ['ibm','dell']
b = ['strength','weekness']
嵌套for循环也可以工作:
for x in a:
for y in b:
c = a + b
print(c)
感谢奥斯卡的及时回复。另外,请您解释一下,当我循环这些项目并加入它们时,为什么列表项目开始消失。在我使用循环后,列表变为空。这样做很神奇(疤痕!)不错@RaghavShaligram这不会发生在我身上…请发布导致问题的代码。另外,您应该将列表保存在一个变量中,以备将来使用@ÓscarLópez我刚刚更新了代码并使用了一个嵌套循环。列表项开始消失。@RaghavShaligram您没有使用我答案中的代码…无论如何,请参阅我的更新。请记住,
itertools
中的函数返回迭代器(而不是列表),迭代器只能遍历一次。如果以后需要使用它们,请将它们转换为列表。您必须将结果保存在一个变量中,简单地调用该函数将不会做任何事情。为了得到及时的响应,Anks oscar。另外,请您解释一下,当我循环这些项目并加入它们时,为什么列表项目开始消失。在我使用循环后,列表变为空。这样做很神奇(疤痕!)不错@RaghavShaligram这不会发生在我身上…请发布导致问题的代码。另外,您应该将列表保存在一个变量中,以备将来使用@ÓscarLópez我刚刚更新了代码并使用了一个嵌套循环。列表项开始消失。@RaghavShaligram您没有使用我答案中的代码…无论如何,请参阅我的更新。请记住,itertools
中的函数返回迭代器(而不是列表),迭代器只能遍历一次。如果以后需要使用它们,请将它们转换为列表。您必须将结果保存在一个变量中,简单地调用该函数不会做任何事情