【发布时间】:2015-12-15 16:08:33
【问题描述】:
遇到了一个让我有点困惑的编程问题。 我正在解析数据并:
- 将每个相关块添加到 list1,将 list1 附加到 final_list。 (为了方便和整洁的未来演示)
- 对于下一条相关信息,我将使用 *list1[:] = [] 删除 list1 中的“旧”信息
- 将新的新鲜信息附加到 list1,将 list1 附加到 final_list 和瞧……我想:)
感谢所有帮助!
示例:
final_list=[]
list1 = [1,2,3,4]
list2 = [5,6,7,8]
final_list.append(list1)
final_list.append(list2)
print final_list
list1[:] = []
print final_list
示例输出
[[1, 2, 3, 4], [5, 6, 7, 8]]
[[], [5, 6, 7, 8]]
系统版本
Python: 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
【问题讨论】:
-
您好,欢迎来到 StackOverflow。请花一些时间阅读帮助页面,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。更重要的是,请阅读the Stack Overflow question checklist。您可能还想了解Minimal, Complete, and Verifiable Examples。
-
您预计会发生什么?
-
我不知道为什么这会让你感到惊讶。你能解释一下你希望看到什么吗?
-
嗨,我想要实现的本质上是创建一个列表列表。继续在循环中向 final_list 添加数据。
-
@Fredrik,您是否说某些事情与您预期的不一样,您应该说出您的预期或您感到困惑的事情。在这种情况下,我认为您会感到困惑的是 list1 在 final_list 中也发生了变化,对吧?无论如何,当您开始使用 python 时,这是一个非常常见的问题。 final_list 包含两个指向 list1 和 list2 的“标签”,指向你放在那里的任何东西。如果更改 list1 或 list2,final_list 也会相应更改