繁体   English   中英

Python将一个列表中的元素与另一个列表中的所有元素组合

[英]Python Combine Elements in one List With All Elements in Another

给出以下列表:

a = ['a','b']
b = [1,2,3,4]

我想产生这个:

c = ['a1','a2','a3','a4','b1','b2','b3','b4']

所以我基本上想将b的每个元素连接到a中的每个元素。

我想要一种类似的方法:

[x+str(y) for x in a and y in b]

提前致谢!

a = ['a','b']
b = [1,2,3,4]
c = [x+str(y) for x in a for y in b]
print(c)

您需要在列表理解中迭代两次:

>>> a = ['a','b']
>>> b = [1,2,3,4]

>>> [i+str(j) for i in a for j in b]
['a1', 'a2', 'a3', 'a4', 'b1', 'b2', 'b3', 'b4']

尝试执行此操作,在示例中将and替换for以添加一个额外的循环:

[x + str(y) for x in a for y in b]

这将在单个列表理解中循环遍历两个列表。

您还可以将列表理解与组合生成混合在一起。 Itertools模块是如何使用组合的好方法。

import itertools
c = [x + str(y) for x, y in itertools.product(a, b)]
[str(a1) + str(b1) for a1 in a for b1 in b]

对于这个问题,我来得太晚了,但是这是我在Python 3.6+上进行此操作的两分钱

[f'{a_item}{b_item}' for a_item in a for b_item in b]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM