有没有一种方法可以连接一个字符串列表和2个数字列表,以便在连接它们时,连接后的列表将在命令后将它们取一个。
输入:
a = [john, bob, ted, Paul]
b = [22, 34, 56, 12]
c = [13, 98, 78, 60]
预期的输出量:
[john, 22, 13, bob, 34, 98, ted, 56, 78, Paul, 12, 60]
答案 0 :(得分:2)
您可以将zip
函数用于列表理解:
a = ['john', 'bob', 'ted', 'Paul']
b = [22, 34, 56, 12]
c = [13, 98, 78, 60]
outcome = [i for t in zip(a, b, c) for i in t]
outcome
将变为:
['john', 22, 13, 'bob', 34, 98, 'ted', 56, 78, 'Paul', 12, 60]
请注意,您问题中的c
列表中有一个额外的90
不在您的预期输出中,因此我认为它是错字,因此将其删除。
答案 1 :(得分:0)
使用格式化的字符串并使用列表理解进行枚举
l = ['{}, {}, {}'.format(a[idx], b[idx], c[idx]) for idx, item in enumerate(a)]
['john, 22, 13', 'bob, 34, 98', 'ted, 56, 78', 'Paul, 12, 60']
答案 2 :(得分:0)
您的列表: 确保所有列表的尺寸相同。
a = ['john', 'bob', 'ted', 'Paul']
b = [22, 34, 56, 12]
c = [13, 98, 78, 90]
导入 numpy 一个用于处理数组的好模块
import numpy as np
制作numpy数组并根据需要调整其形状
a = np.array(a).reshape(-1,1)
b = np.array(b).reshape(-1,1)
c = np.array(c).reshape(-1,1)
沿着所需的轴连接它们。在您的情况下,该值为1(因为我们已经对数组进行了整形,所以按列排列)
f= np.concatenate((a,b,c),axis=1)
将它们平铺在一维阵列中
f = f.flatten()
print(f)