python list删除元素速度慢_python list删除元素时要注意的坑点分享

python list删除元素时要注意的坑点分享

我们直接先给出输出与预期不同的代码

In[28]: a = [1,2,3,4,5,6]

In[29]: for i in a:

...: a.remove(i)

...:

In[30]: a

Out[30]: [2, 4, 6]

在上述for循环中,假设我们删除了index=2的值,原本index=3及之后的值会向前补位,所以在循环中就跳过了原index=3的变量

同理,使用list.pop()函数删除指定元素的时候,也会出现上述情况,如:

In[33]: a = [1,2,3,4,5,6]

In[34]: for index, value in enumerate(a):

...: a.pop(index)

...:

In[35]: a

Out[35]: [2, 4, 6]

如果我们想循环删除列表中的元素,较简单的可用方法有:用一个临时列表保存待删除的元素,在for循环临时列表来删除老列表中的元素;或者直接用剩余元素列表覆盖原列表

以上这篇python list删除元素时要注意的坑点分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

Python列表删除的三种方法代码分享

Python实现删除列表中满足一定条件的元素示例

Python简单删除列表中相同元素的方法示例

python实现从字典中删除元素的方法

时间: 2018-04-16

本文实例讲述了Python实现删除列表中满足一定条件的元素.分享给大家供大家参考,具体如下: 从列表中删除满足一定条件的元素. 如:删除一个列表中长度为0的元素,或者删除列表中同时是2和3的倍数的元素. 做过高级语言编程的人想当然的会认为"这很简单",可以如下面的方式来实现: for i in listObj: if(...): listObj.remove(i) 看下一个小例子和结果: a = [1, 2, 3, 12, 12, 5, 6, 8, 9] for i in a: if

1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> print(i1) ['b', 'c', 'd'] >>> del语句将值从列表中删除后,就再也无法访问它了. 2.使用pop()删除元素 pop()可删除列表末尾的元素,并让你能够接着使用它.食欲弹出(pop)源自这样的类比:列表就是一个栈,而删除列表末尾的元素相当于弹出栈顶元素. >&gt

本文实例讲述了Python简单删除列表中相同元素的方法.分享给大家供大家参考,具体如下: 去除列表中重复的元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2, 5] b = list(set(a)) print(a) print(b) 运行结果: E:\Program\Python>d.py [11, 21, 3, 4, 3, 2, 5] [2, 3, 4, 5, 11, 21] 看到了吗,结果中确实没有了重复的元素.但是,同时,结果中的元素被按从小到大进行了排序! P

本文实例讲述了python实现从字典中删除元素的方法.分享给大家供大家参考.具体分析如下: python的字典可以通过del方法进行元素删除,下面的代码详细演示了这一过程 # Create an empty dictionary d = {} # Add an item d["name"] = "Fido" assert d.has_key("name") # Delete the item del d["name"] ass

本文实例讲述了Python简单遍历字典及删除元素的方法.分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d.pop(key) 会报这个错误:RuntimeError: dictionary changed size during iteration 这种方式Python2可行,Python3还是报上面这个错误. d = {'a':1, 'b':2, 'c':3} for key in d.keys():

这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结[4种方法],感兴趣的话可以去看看,今天是在实践过程中又积累了一些方法,这里一并总结放在这里. 由于内容很简单,就不再过多说明了,这里直接上代码,具体如下: # !/usr/bin/env python # -*- coding:utf-8 -*- ''' __Author__:沂水寒城 功能: python列表去除方法总结(7种方法) ''' import sys reload(sys) import copy

本文实例讲述了Python实现去除列表中重复元素的方法.分享给大家供大家参考,具体如下: 这里一共使用了四种方法来去除列表中的重复元素,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:去除列表中的重复元素 ''' def func1(one_list): ''''' 使用集合,个人最常用 ''' return list(set(one_list)) def func2(one_list): ''''' 使用

本篇文章给大家带来的内容是关于Python如何筛选序列中的元素 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.需求 序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减, 2.解决方案 要筛选序列中的数据,通常最简单的方法是使用列表推导式. 例如: myList=[1,4,-5,10,-7,2,3,-1] print([n for n in myList if n>0]) print([n for n in myList if n<0]) 结果: [1,

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② -- 对于Python3 d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.keys(): del(d[k]) 正确的代码 d = {'a':1, 'b':0, 'c':1, 'd':0} keys = list(d.keys()) for key, val in keys: d

python根据字典的键来删除元素的方法: 可以利用pop()方法来进行删除. pop()方法可以删除字典定键key及对应的值,并返回被删除的值. 具体使用方法如:[site.pop('name')]. Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值.key 值必须给出. 否则,返回 default 值. 语法: pop(key[,default]) 参数: key: 要删除的键值 default: 如果没有 key,返回 default 举例: #!

本文实例讲述了Python从字典中提取子集的方法.分享给大家供大家参考,具体如下: 问题:想创建一个字典,其本身是另一个字典的子集 解决方案:利用字典推导式(dictionary comprehension)可轻松解决 # example of extracting a subset from a dictionary from pprint import pprint prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ':

本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c',

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值