如何通过使用python连接两个列表来创建列表
Var=['Age','Height']
Cat=[1,2,3,4,5]
我的输出应如下所示。
AgeLabel=['Age1', 'Age2', 'Age3', 'Age4', 'Age5']
HeightLabel=['Height1', 'Height2', 'Height3', 'Height4', 'Height5']
答案 0 :(得分:2)
合并dict comprehension和list comprehension:
>>> labels = 'Age', 'Height'
>>> cats = 1, 2, 3, 4, 5
>>> {label: [label + str(cat) for cat in cats] for label in labels}
{'Age': ['Age1', 'Age2', 'Age3', 'Age4', 'Age5'],
'Height': ['Height1', 'Height2', 'Height3', 'Height4', 'Height5']}
答案 1 :(得分:0)
您可以将第二个列表元素视为字符串,通过循环两个列表来连接字符串。维护字典以存储值。
Var=['Age','Height']
Cat=[1,2,3,4,5]
label_dict = {}
for i in var:
label = []
for j in cat:
t = i + str(j)
label.append(t)
label_dict[i+"Label"] = label
最后label_dict将是
label_dict = {AgeLabel:['Age1', 'Age2', 'Age3', 'Age4', 'Age5'],HeightLabel:['Height1', 'Height2', 'Height3', 'Height4', 'Height5']}
答案 2 :(得分:0)
Var=['Age','Height']
Cat=[1,2,3,4,5]
from itertools import product
print(list(map(lambda x:x[0]+str(x[1]),product(Var,Cat))))
这将为您提供以下输出。
['Age1', 'Age2', 'Age3', 'Age4', 'Age5', 'Height1', 'Height2', 'Height3', 'Height4', 'Height5']
您可以根据自己的要求拆分列表。
答案 3 :(得分:0)
简洁明了。
Var=['Age','Height']
Cat=[1,2,3,4,5]
AgeLabel = []
HeightLabel= []
for cat_num in Cat:
current_age_label = Var[0] + str(cat_num)
current_height_label = Var[1] + str(cat_num)
AgeLabel.append(current_age_label)
HeightLabel.append(current_height_label)
print(AgeLabel)
print(HeightLabel)
<强>输出强>
AgeLabel= ['Age1', 'Age2', 'Age3', 'Age4', 'Age5']
HeightLabel= ['Height1', 'Height2', 'Height3', 'Height4', 'Height5']
答案 4 :(得分:0)
试试这个: -
Var=['Age','Height']
Cat=[1,2,3,4,5]
for i in Var:
c = [(i+str(y)) for y in Cat]
print (c) #shows as you expect