如何通过使用python连接两个列表来创建一个列表
Posted
技术标签:
【中文标题】如何通过使用python连接两个列表来创建一个列表【英文标题】:How to create a list by concatenating two list using python 【发布时间】:2018-07-03 05:29:55 【问题描述】:如何使用 python 连接两个列表来创建列表
Var=['Age','Height']
Cat=[1,2,3,4,5]
我的输出应该如下所示。
AgeLabel=['Age1', 'Age2', 'Age3', 'Age4', 'Age5']
HeightLabel=['Height1', 'Height2', 'Height3', 'Height4', 'Height5']
【问题讨论】:
查看我最近的回答,***.com/a/48412769/901925。一两个列表推导式就可以很好地完成这项工作。 ***.com/questions/4344017/… 【参考方案1】:结合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']
【讨论】:
【参考方案2】:您可以将第二个列表元素视为通过循环遍历两个列表来连接字符串的字符串。维护一个字典来存储值。
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']
【讨论】:
【参考方案3】: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']
您可以根据需要拆分列表。
【讨论】:
【参考方案4】:试试这个:-
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
【讨论】:
【参考方案5】:简洁明了。
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']
【讨论】:
以上是关于如何通过使用python连接两个列表来创建一个列表的主要内容,如果未能解决你的问题,请参考以下文章