翼度科技»论坛 编程开发 python 查看内容

Python中清空list的几种方法

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
本文介绍清空list的四种方法,以及 list=[ ] 和 list.clear() 在使用中的区别(坑)。
1、使用clear()方法
  1. lists = [1, 2, 1, 1, 5]
  2. lists.clear()
  3. print(lists)
  4. >>>[]
复制代码
2、重新初始化列表:初始化该范围内的列表,初始化列表没有值,即大小为0的列表
  1. lists = [1, 2, 1, 1, 5]
  2. lists = []
  3. print(lists)
  4. >>>[]
复制代码
3、使用 “ * = 0 ”
  1. lists = [1, 2, 1, 1, 5]
  2. lists *= 0
  3. print(lists)
  4. >>>[]
复制代码
4、使用 del: del可以用来清除范围中的列表元素,如果我们不给出范围,则删除所有元素
  1. lists = [1, 2, 1, 1, 5]
  2. del lists[:]
  3. print(lists)
  4. >>>[]
  5. lists2 = [1, 2, 1, 1, 5]
  6. del lists2[:2]
  7. print(lists2)
  8. >>>[1, 1, 5]
复制代码
但是在使用 list=[ ] 和 list.clear() 的时候,遇到过一个问题:
先使用: list.clear()
  1. first = []
  2. last = []
  3. lists_more = [1, 2, 3, 4, 5, 6]
  4. for i in lists_more:
  5.     first.append(i)
  6.     last.append(first)
  7.     first.clear()
  8. print(last)
  9. >>>[]
复制代码
而使用 list=[ ] :
  1. first = []
  2. last = []
  3. lists_more = [1, 2, 3, 4, 5, 6]
  4. #学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
  5. for i in lists_more:
  6.     first.append(i)
  7.     last.append(first)
  8.     first = []
  9. print(last)
  10. >>>[[1], [2], [3], [4], [5], [6]]
复制代码
因此,实际使用中,列表的初始化清空和使用 clear() 清空 二者有区别,涉及到内存空间的引用问题,在面对有列表的复用问题时需要多加小心,最好采用初始化清空。

来源:https://www.cnblogs.com/Pythonmiss/p/18330892
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具