使用列表的单个元素扩展列表列表错误

问题描述 投票:1回答:1

我试图扩展列表列表以在开头添加一个元素,这是一个数字:

groups = list([list([a, b, c]),list([a2, b2, c2])])
numbers = list([1,2])

结果应该是这样的:

result = [[1,a, b, c],[2,a2, b2, c2]]

到目前为止这是我的代码:

result = []
for i in groups :
    for j in numbers:
        result.append([j,i])

你对我可能做错了什么有什么建议吗?或提示如何解决问题?

非常感谢提前

python list nested-lists
1个回答
2
投票

你的方法的问题是你正在使用两个单独的for循环,当你真的想同时迭代两个列表。对于这些情况,zip方便。它允许您聚合多个迭代。所以你可以这样做:

result = []
for i,j in zip(numbers, groups):
    result.append([i]+j)

print(result)
# [[1, 'a', 'b', 'c'], [2, 'a2', 'b2', 'c2']]

为了更简洁的解决方案,您可以使用列表推导来添加两个列表中的元素(请注意,qazxsw poi中的元素必须转换为列表):

numbers

产量

[[i]+j for i,j in zip(numbers, groups)]
© www.soinside.com 2019 - 2024. All rights reserved.