[英]How to combine two lists to get the following desired result containing tuples?
我有兩個列表:
a = ['apple', 'mango', 'pear']
b = ['ripe','raw','rotten']
如何獲得以下元組結果列表:
[(('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')]
你有沒有嘗試過自己解決?
嘗試這個 :-
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')]
僅在一行中嘗試此操作:
[(tuple(a), i) for i in b]
輸出將是:
[(('apple', 'mango', 'pear'), 'ripe'),
(('apple', 'mango', 'pear'), 'raw'),
(('apple', 'mango', 'pear'), 'rotten')]
你可以試試這個:
a = ['apple', 'mango', 'pear']
b = ['ripe','raw','rotten']
list=[ ]
for i in b:
k=((tuple((tuple(a),i))))
list.append(k)
print(list)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.