请问del list[:]不只是单纯的清空列表里的内容吗?
如图list_0 = []重置列表和
del list_0[:] 清空列表
得出来的结果完全不一样
请问为什么会这样呢?? 清空请使用 clear() 方法:
list_0.clear() 因为添加进 output 的 list_0 跟 你定义的 list_0 共用同一个地址,
而你用 del list_0[:] 会将你定义的 list_0 的元素清空,自然添加进 output 里面的列表也被清空了
你如果不想对添加进 output 里面的列表造成影响的话,得把它的拷贝加进 output,而不是 list_0,
故对你的代码修改如下:
count = int(input('请输入需要zip的元素数量:'))
i = 0
list_0 = []
output = []
while i < count:
x = input('请输入当前列表中的元素(输入STOP结束): ')
if x != 'STOP':
list_0.append(x)
else:
output.insert(i, list_0[:]) # 这里list_0改成list_0[:]
i += 1
del list_0[:]
print(output)
isdkz 发表于 2022-3-7 18:12
因为添加进 output 的 list_0 跟 你定义的 list_0 共用同一个地址,
而你用 del list_0[:] 会将你定义的 ...
谢谢您的解答
但是想伸展地请问一下,如果仅仅想把这个变量给清空 该用什么命令呢???我试了 clear()函数也不行。。。就单纯地清空 不影响其他的已使用过这个变量的值的。该怎么办呢。。。。 本帖最后由 wp231957 于 2022-3-8 07:26 编辑
镜花丿水月 发表于 2022-3-7 23:46
谢谢您的解答
但是想伸展地请问一下,如果仅仅想把这个变量给清空 该用什么命令呢???我试了 clear() ...
del变量名
listname=[] wp231957 发表于 2022-3-8 06:44
del变量名
listname=[]
哈哈哈果然还是只能通过赋值的形式来初始化谢谢您啦
页:
[1]