[1, 2, 3, [...]]这是什么东西
本帖最后由 hhzczy 于 2018-11-4 19:20 编辑>>> selfref_list =
>>> selfref_list.append(selfref_list)
>>> selfref_list
]
看到这样一段代码,列表把自己加进去。这是想干嘛。
而且结果为什么显示:]
而不是:]
==========================
来源是这段代码:
import pickle
# 使用pickle模块将数据对象保存到文件
data1 = {'a': ,
'b': ('string', u'Unicode string'),
'c': None}
selfref_list =
selfref_list.append(selfref_list)
output = open('data.pkl', 'wb')
# Pickle dictionary using protocol 0.
pickle.dump(data1, output)
# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)
output.close() 哪有自己append自己的,那不是无限嵌套 塔利班 发表于 2018-11-4 18:55
哪有自己append自己的,那不是无限嵌套
http://www.runoob.com/python3/python3-inputoutput.html
但它并未报错啊。
我看不懂~~~~所以才来问…………
而且多次运行后仍然这样:
>>> selfref_list =
>>> selfref_list.append(selfref_list)
>>> selfref_list
]
>>> selfref_list
]
>>> selfref_list
] 是没报错,但是除非你特殊使用,不建议这么玩 小老弟,这玩法我搞过,
是这样的,
selfref_list =
selfref_list.append(selfref_list) 按理说你想要的是不是selfref_kist = ]这样呀!
实际呢是这样的 selfref_list = 你有没有发现这个selfref_list随时都在改变,所以就相当于selfref_list.append(selfref_list)执行了一个递归:
说白一点就是自己追加自己,并且自己每追加一次自己都变了,按理说执行后是不会显示出来的
但是由于list长度的限制,所以不得不输出出来;再因为屏幕print显示的原因(因为太多了,我不想输出),无限循环的部分就成了] 前路 发表于 2018-11-4 23:36
小老弟,这玩法我搞过,
是这样的,
selfref_list =
讲的好,顶一个 客气客气,这里的大神超多,我们以后可以常来
页:
[1]