将列表中的值添加到嵌套列表中

时间:2020-10-08 12:02:06

标签: python append zip nested-lists extend

我是初学者,我想问一下,如何将列表年龄的值添加到列表n_list中。

n_lst = [['Peter', 'Brown'], ['Thomas', 'Black'], ['Andy', 'Green']]
age = [33, 35, 28]

我需要得到什么:

[['Peter', 'Brown', 33], ['Thomas', 'Black', 35], ['Andy', 'Green', 28]]

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

lst = [['Peter', 'Brown'], ['Thomas', 'Black'], ['Andy', 'Green']] 
age = [33, 35, 28]

new_lst = [p + [a] for p, a in zip(lst, age)]

就地修改:

for p, a in zip(lst, age):
  p.append(a)

print(lst)

答案 1 :(得分:1)

n_lst = [['Peter', 'Brown'], ['Thomas', 'Black'], ['Andy', 'Green']]
age = [33, 35, 28]

for i in range(len(age)):
        n_lst[i].append(age[i])


答案 2 :(得分:1)

这里有3个简单的选项(还有很多更复杂的选项)

  1. 对于嵌套列表中的每个列表,请使用相同的索引附加年龄列表中的项目:

    for index, subList in enumerate(n_lst):  
        subList.append(age[index])
    

对于列表中的每个项目,枚举为您提供了项目的数字位置和项目本身。我们可以使用它轻松地选择相应的年龄。

  1. 获取一个与年龄列表中每个项目的索引相对应的数字,并使用该数字来标识我们要将年龄附加到的子列表。听起来一样,结果也一样,但对我来说总是有点混乱:

     for i in range(len(age)):  
         n_lst[i].append(age[i])
    
  2. 使用整理的信息创建一个新列表:

      lst = [subList + [year] for subList, year in zip(lst, age)]
    

zip()从传递给它的对象中返回一个元组的迭代器。在这一点上,我会尽量避免担心这意味着什么。