如何通过使用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连接两个列表来创建一个列表的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中读取文本文件并从中创建两个列表

通过连接另一个列表的元素来创建一个字符串列表[重复]

如何在 Python 中连接两个列表?

如何在 python 中使用两个列表创建字典? [复制]

python如何合并两个列表?

Python - 合并两个同时连接的列表