问题描述
我是初学者,我想问一下,如何将列表年龄的值添加到列表n_list中。
n_lst = [['Peter','Brown'],['Thomas','Black'],['Andy','Green']]
age = [33,35,28]
我需要得到什么:
[['Peter','Brown',33],'Black',35],'Green',28]]
非常感谢您的帮助!
解决方法
lst = [['Peter','Brown'],['Thomas','Black'],['Andy','Green']]
age = [33,35,28]
new_lst = [p + [a] for p,a in zip(lst,age)]
就地修改:
for p,age):
p.append(a)
print(lst)
,
n_lst = [['Peter','Green']]
age = [33,28]
for i in range(len(age)):
n_lst[i].append(age[i])
,
这里有3个简单的选项(还有很多更复杂的选项)
-
对于嵌套列表中的每个列表,请使用相同的索引附加年龄列表中的项目:
for index,subList in enumerate(n_lst): subList.append(age[index])
对于列表中的每个项目,枚举为您提供了项目的数字位置和项目本身。我们可以使用它轻松地选择相应的年龄。
-
获取一个与年龄列表中每个项目的索引相对应的数字,并使用该数字来标识我们要将年龄附加到的子列表。听起来一样,结果也一样,但对我来说总是有点混乱:
for i in range(len(age)): n_lst[i].append(age[i])
-
使用整理的信息创建一个新列表:
lst = [subList + [year] for subList,year in zip(lst,age)]
zip()从传递给它的对象中返回一个元组的迭代器。在这一点上,我会尽量避免担心这意味着什么。