如何组合两个列表以获得以下所需的包含元组的结果?

2024-05-14 18:58:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两份清单:

a = ['apple', 'mango', 'pear']

b = ['ripe','raw','rotten']

如何获得以下元组结果列表:

[(('apple', 'mango', 'pear'), 'ripe'), (('apple', 'mango', 'pear'), 'raw'), (('apple', 'mango', 'pear'), 'rotten')]

Tags: apple列表raw元组pearrottenripemango
3条回答

你试过自己解决吗

试试这个:-

c = []
for i in b:
    c.append((tuple(a), i)) 
print (c) 

通常的方法是使用列表理解:

>>> [(tuple(a), x) for x in b]
[(('apple', 'mango', 'pear'), 'ripe'), (('apple', 'mango', 'pear'), 'raw'), (('apple', 'mango', 'pear'), 'rotten')]

如果它们不必是元组,也可以使用zip

>>> list(zip([a]*len(b), b))
[(['apple', 'mango', 'pear'], 'ripe'), (['apple', 'mango', 'pear'], 'raw'), (['apple', 'mango', 'pear'], 'rotten')]

list(itertools.product(a,b))将使用A中的元素。要使完整列表成为元素,可以使用嵌套列表,如:

list(itertools.product([tuple(a)], b)

结果:

[(('apple', 'mango', 'pear'), 'ripe'), (('apple', 'mango', 'pear'), 'raw'), (('apple', 'mango', 'pear'), 'rotten')]

相关问题 更多 >

    热门问题