给定以下列表:
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 = ['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']
您还可以将列表推导与组合生成混合使用。使用 itertools 模块是处理组合的好方法。
import itertools
c = [x + str(y) for x, y in itertools.product(a, b)]
我来晚了,但是这里是我对在Python 3.6+上执行此操作的建议。
[f'{a_item}{b_item}' for a_item in a for b_item in b]
[str(a1) + str(b1) for a1 in a for b1 in b]