本文介绍清空list的四种方法,以及 list=[ ] 和 list.clear() 在使用中的区别(坑)。
1、使用clear()方法
lists = [1, 2, 1, 1, 5]
lists.clear()print(lists)>>>[]
2、重新初始化列表:初始化该范围内的列表,初始化列表没有值,即大小为0的列表
lists = [1, 2, 1, 1, 5]
lists = []print(lists)>>>[]
3、使用 “ * = 0 ”
lists = [1, 2, 1, 1, 5]
lists *= 0print(lists)>>>[]
4、使用 del: del可以用来清除范围中的列表元素,如果我们不给出范围,则删除所有元素
lists = [1, 2, 1, 1, 5]del lists[:]print(lists)>>>[]
lists2 = [1, 2, 1, 1, 5]del lists2[:2]print(lists2)>>>[1, 1, 5]
Python学习网- 专业的python自学、交流公益平台!
但是在使用 list=[ ] 和 list.clear() 的时候,遇到过一个问题:
先使用: list.clear()
first = []
last = []
lists_more = [1, 2, 3, 4, 5, 6]for i in lists_more:
first.append(i)
last.append(first)
first.clear()print(last)>>>[]
而使用 list=[ ] :
first = []
last = []
lists_more = [1, 2, 3, 4, 5, 6]for i in lists_more:
first.append(i)
last.append(first)
first = []print(last)>>>[[1], [2], [3], [4], [5], [6]]
因此,实际使用中,列表的初始化清空和使用 clear() 清空 二者有区别,涉及到内存空间的引用问题,在面对有列表的复用问题时需要多加小心,最好采用初始化清空。
问题来源于python学习网
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。