将列前置到数组

2024-06-11 01:31:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python数组,从文本文件中读取:

["Engine", "Gearbox", "Tires", "Battery"]

我想将其设置为多维数组,并预先添加一个识别标签,例如汽车。结果应该如下所示:

[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]

实现这一目标的最快和最简单的方法是什么


Tags: 方法目标标签数组car汽车engine文本文件
3条回答

小心点!该变量不包含数组,而是包含一个列表。(默认情况下python不支持数组)。 这应该是你问题的答案

使用列表理解–实现此目的的最“python”方式

l = ["Engine", "Gearbox", "Tires", "Battery"]
result = [['CAR',i] for i in l]
print(result) 
[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]

使用for循环–最简单的方法

l,result = ["Engine", "Gearbox", "Tires", "Battery"],list()
for i in l:
   result.append(['CAR',i])
print(result)
[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]

使用map()–最酷的方法

l = ["Engine", "Gearbox", "Tires", "Battery"]
f = lambda x: ['CAR', x]
result = list(map(f,l))
print(result)
[['CAR', 'Engine'], ['CAR', 'Gearbox'], ['CAR', 'Tires'], ['CAR', 'Battery']]

请在一行中尝试:

l = ["Engine", "Gearbox", "Tires", "Battery"]                                                                                                                                                                                                                                     

result = [["CAR", i] for i in l]

结果将是:

[['car', 'Engine'], ['car', 'Gearbox'], ['car', 'Tires'], ['car', 'Battery']]      

使用列表理解将是一种非常快速和简单的方法

lis = ["Engine", "Gearbox", "Tires", "Battery"]
new_list = [["CAR", x] for x in lis]

相关问题 更多 >