将项目从列表传递到另一个列表中的空对象

时间:2016-09-15 19:52:04

标签: python list nested-loops

我想将列表中的项目传递给商店中的空对象,即我想要:

store = [ [['a', 'b'], ['c', 'd']], [] ]

我得到了一个意想不到的结果:

lists = [['a', 'b'], ['c', 'd']]

store = [[], []]


counter = 0
for l in lists:
    for s in store:
        s.append(l)

给了我:

store = [[['a', 'b'], ['c', 'd']], [['a', 'b'], ['c', 'd']]]

5 个答案:

答案 0 :(得分:1)

嵌套for循环是一种矫枉过正。您应该extend store中的第一个子列表lists

lists = [['a', 'b'], ['c', 'd']]
store = [[], []]

store[0].extend(lists)
#     ^ indexing starts from 0
print(store)
# [[['a', 'b'], ['c', 'd']], []]

lists

上查看更多内容

答案 1 :(得分:1)

如果

store = [ [['a', 'b'], ['c', 'd']], [] ]

确实是你想要的,然后你已经超过了标记。内部循环是不必要的,将在store中执行每个项的代码。您在store中有两个空列表,因此在代码运行后在store中创建了两个填充列表。要做第一个,你想要

for l in lists:
    store[0].append(l)

阅读你的问题,虽然我不是百分之百肯定的,这就是你真正追求的,尤其是鉴于你原本神秘的内环。

我读到“我想将列表中的项目传递到商店中的空对象”,这可能意味着您尝试从lists中的两个列表中获取项目,并在store中将它们列为一个列表。如果这就是你想要的东西,这样的东西可以解决问题:

for l in lists:
    for i in l:
        store[0].append(i)

给你:

[['a', 'b', 'c', 'd'], []]

答案 2 :(得分:0)

商店有两个空列表,您正在添加两个空列表。如果您只想添加到第一个

for l in lists:
    store[0].append(l)

答案 3 :(得分:0)

这是一个非常简单的人。 最好的方法是简单地将列表分配给商店[0]。

stores[0]= lists

就是你需要做的一切。

答案 4 :(得分:0)

如何简单地这样做:

store = [lists, []]
# value of 'store' = [[['a', 'b'], ['c', 'd']], []]

我相信根据你的问题,所需的O / P是:

store = [ [['a', 'b'], ['c', 'd']], [] ]

来自输入列表:

lists = [['a', 'b'], ['c', 'd']]