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

标签 python list nested-lists

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

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])

您对我可能做错的事情有什么建议吗?或有关如何解决问题的提示?

提前非常感谢

最佳答案

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

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

print(result)
# [[1, 'a', 'b', 'c'], [2, 'a2', 'b2', 'c2']]
<小时/>

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

[[i]+j for i,j in zip(numbers, groups)]

输出

[[1, 'a', 'b', 'c'], [2, 'a2', 'b2', 'c2']]

关于python - 使用列表的单个元素扩展列表的列表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55008024/

相关文章:

python - 决策树中特定类的 Sklearn 决策规则

Python 3 : How can I check if two lists match even if elements are not in order

java - 是否有理由更喜欢 Arrays 而不是 ArrayLists?

python - 重构嵌套的 python 列表

python - 从 python(Windows 和 Linux)运行 excel 宏

Python + Azure 存储队列 receive_messages()

r - 如何在列表中间插入元素?

python - 检查列表是否由其他列表组成

PHP/Smarty - 如何检查具有特定值的对象的数组,并创建这些对象的临时数组

python - 增加 jinja2 模板中的列表项(appengine)