如何通过使用python连接两个列表来创建列表

时间:2018-01-24 08:30:23

标签: python-3.x

如何通过使用python连接两个列表来创建列表

Var=['Age','Height']
Cat=[1,2,3,4,5]

我的输出应如下所示。

AgeLabel=['Age1', 'Age2', 'Age3', 'Age4', 'Age5']
HeightLabel=['Height1', 'Height2', 'Height3', 'Height4', 'Height5']

5 个答案:

答案 0 :(得分:2)

合并dict comprehensionlist 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