千锋教育-做有情怀、有良心、有品质的职业教育机构

python 列表元素的删除

来源:千锋教育
发布时间:2023-11-08 07:29:02
分享

使用del命令删除列表中的指定位置上的元素。

>>>a_list=[3,5,7,9,11]

>>>dela_list[1]

>>>a_list

[3,7,9,11]

使用列表的pop()方法删除并返回指定位置(默认为最后一个)上的元素,如果给定的索引超出了列表的范围则抛出异常。

>>>a_list=list((3,5,7,9,11))

>>>a_list.pop()

11

>>>a_list

[3,5,7,9]

>>>a_list.pop(1)

5

>>>a_list

[3,7,9]

使用列表对象的remove()方法删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常。

>>>a_list=[3,5,7,9,7,11]

>>>a_list.remove(7)

>>>a_list

[3,5,9,7,11]

代码编写好后必须要经过反复测试,不能满足于几次测试结果正确。例如,下面的代码成功地删除了列表中的重复元素,执行结果是完全正确的。

>>>x=[1,2,1,2,1,2,1,2,1]

>>>foriinx:

ifi==1:

x.remove(i)

>>>x

[2,2,2,2]

然而,上面这段代码的逻辑是错误的。同样的代码,仅仅是所处理的数据发生了一点变化,然而当循环结束后却发现并没有把所有的“1”都删除,只是删除了一部分。

>>>x=[1,2,1,2,1,1,1]

>>>foriinx:

ifi==1:

x.remove(i)

>>>x

[2,2,1]

两组数据的本质区别在于,第一组数据中没有连续的“1”,而第二组数据中存在连续的“1”。出现这个问题的原因是列表的自动内存管理功能。

在删除列表元素时,Python会自动对列表内存进行收缩并移动列表元素以保证所有元素之间没有空隙,增加列表元素时也会自动扩展内存并对元素进行移动以保证元素之间没有空隙。每当插入或删除一个元素之后,该元素位置后面所有元素的索引就都改变了。

正确的代码:

>>>x=[1,2,1,2,1,1,1]

>>>foriinx[::]:#切片

ifi==1:

x.remove(i)

或者:

>>>x=[1,2,1,2,1,1,1]

>>>foriinrange(len(x)-1,-1,-1):#从后往前删

ifx[i]==1:

delx[i]

以上内容为大家介绍了python列表元素的删除,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • 详析python多行代码注释快捷键的用法 我们在敲击代码时,遇到不需要使用的语句,大家是否一行一行的删除?这样工作量可谓庞大,今天给大家带来关于注释的快捷键使用,一起来看看吧~关于python编程注释快捷键1、注释单行(1)方法1:直接在单行
  • python字符串大小写转换 如果想要得心应手的去使用python语言,那么对于python的字符串大小一定要认真了解,下面给大家整理关于python字符串大小用法和示例,便于大家理解!1、capitalize()描述:将字符串的
  • python为啥运行效率不高 python运算效率低,具体是什么原因呢,下列罗列一些:原因:1、python是动态语言;2、python是解释执行,但是不支持JIT;3、python中一切都是对象,每个对象都需要维护引用计数,增加
  • python中堆排序算法实现 在使用python中,你会遇到一个词,就是堆排序。那堆排序是什么呢?堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所
  • python中如何将华氏温度转换为摄氏温度? 我们都知道表示温度的方式除了摄氏温度还有华氏温度。摄氏温度c,将其转化为华氏温度f,转换公式为:f=c*9/5+32。华氏度比摄氏度较小,一华氏度等于5/9摄氏度,彼此间的转换很容易。将摄氏度转成华氏
  • python中seed随机函数如何生成随机数? 如果要考察某公司的牛奶产品质量,可以从100袋牛奶中抽取30袋,在随机数表中选中一数,并用向上、下、左、右不同的读法组成30个数,并按牛奶的标号进行检测,虽然麻烦,但很常用。在日常生活中,随机数起着很