我想将列表中的项目传递给商店中的空对象,即我想要:
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']]]
答案 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']], []]
上查看更多内容
答案 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']]