在python中,列表,字典,有序字典的删除操作有些凌乱,所以决定记录下,以便以后用乱了。

列表:

列表删除有三种方式:

l.pop()

l.remove()

del l[3:8]

已下面的code为例,见注释:

l=['a','b','c','d','e','f','g','h','i','j','k',]
l.pop()  #pop()不带参数,因为列表是有序的,删除列表中最后一个元素
print(l)  
l.pop(3)  #pop()入带参数,参数为列表中的索引号,删除指定索引号的元素
print(l)
l.remove('c')  #remove(),删除列表中的对应元素,必须带参数,参数为列表中的元素
print(l)
del l[5]  #del 后面参数为list[index],索引也可为切片形式
print(l)
del l[1:3]
print(l)
del l  #如果直接del本身,删除被定义的变量
print(l) out:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Traceback (most recent call last):
File "/Users/shane/Desktop/中融腾更新文件/day3/test.py", line 55, in <module>
['a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'j']
['a', 'b', 'e', 'f', 'g', 'h', 'i', 'j']
['a', 'b', 'e', 'f', 'g', 'i', 'j']
['a', 'f', 'g', 'i', 'j']
print(l)
NameError: name 'l' is not defined
[Finished in 0.1s with exit code 1]

字典:

字典中的删除也有三个,pop(),popitem(),del

还是以例子说明吧:

d={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8,'i':9,'j':10,}
print(d)
d.pop('d')  #删除指定key以及key对应的value,因为列表是无序的,所有必须有参数,参数为列表中的指定key
print(d)
d.popitem()  #随机删除列表中的一条数据,括号中无参数
print(d)
del d['c']  #删除指定key,与pop相同,不同的是pop是圆括号,del是中括号,另外del可直接删除变量
print(d)

结果:

{'b': 2, 'j': 10, 'i': 9, 'f': 6, 'c': 3, 'e': 5, 'g': 7, 'd': 4, 'a': 1, 'h': 8}
{'b': 2, 'j': 10, 'i': 9, 'f': 6, 'c': 3, 'e': 5, 'g': 7, 'a': 1, 'h': 8}
{'j': 10, 'i': 9, 'f': 6, 'c': 3, 'e': 5, 'g': 7, 'a': 1, 'h': 8}
{'j': 10, 'i': 9, 'f': 6, 'e': 5, 'g': 7, 'a': 1, 'h': 8}
[Finished in 0.1s]

有序字典:

OrderedDict 有序字典,是字典的扩展,继承了字典的大部分功能。还是例子说明吧:

import collections
od=collections.OrderedDict()
od['xx']=23
od['ee']=21
od['ff']=33
od['aa']=11
od['bb']=22
print(od)
od.pop('xx')  #删除指定key,必须有参数,参数是key
print(od)
od.popitem()  #因为有序字典是有序列的,所以popitem()删除字典的最后一条数据
print(od)
del od['ee']  #同pop(),del 可删除变量
print(od) OUT:
OrderedDict([('xx', 23), ('ee', 21), ('ff', 33), ('aa', 11), ('bb', 22)])
OrderedDict([('ee', 21), ('ff', 33), ('aa', 11), ('bb', 22)])
OrderedDict([('ee', 21), ('ff', 33), ('aa', 11)])
OrderedDict([('ff', 33), ('aa', 11)])

做个总结图吧:

python中pop(),popitem()的整理的更多相关文章

  1. yaml在python中的应用简单整理

    #简单介绍============================================================== YAML使用寄主语言的数据类型,这在多种语言中流传的时候可能会引 ...

  2. python中的popitem

    popitem()随机删除字典中的任意键值对,并返回到元组中 1 a = { 2 "name":"dlrb", 3 "age":25, 4 ...

  3. python中pop()函数的用法

    pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法:list.pop(obj=list[-1]) //默认为 index=-1,删除最后一个列表值. obj -- ...

  4. python中pop()与split()的用法

    imglist = ['11.jpg','12.jpg','13.jpg','14.jpg','2.jpg','1.jpg',] print(str(imglist)) a = str(imglist ...

  5. 谈谈Python中pop与remove的用法

    remove() 函数用于移除列表中某个值的第一个匹配项. remove()方法语法:  list.remove(obj) 如果obj不在列表中会引发 ValueError 错误,通常先使用count ...

  6. python中数据分析常用函数整理

    一. apply函数 作用:对 DataFrame 的某行/列应用函数之后,Apply 返回一些值.函数既可以使用默认的,也可以自定义.注意:在第二个输出中应用 head() 函数,因为它包含了很多行 ...

  7. [zz]【整理】Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入Cookie

    http://www.crifan.com/python_auto_handle_cookie_and_save_to_from_cookie_file/ #!/usr/bin/python # -* ...

  8. 【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码

    转自:http://www.crifan.com/python_already_got_correct_encoding_string_but_seems_print_messy_code/ [背景] ...

  9. 归纳整理Python中的控制流语句的知识点

    归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...

随机推荐

  1. 用CSS 实现 非浮动元素的 水平居中/垂直居中/水平垂直居中

    一.水平居中 (1)行内元素解决方案 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:   .parent { text-align:center ...

  2. py停止工作

    # 参考https://blog.csdn.net/w952470866/article/details/79132955 电脑搬动换了网络后打开pycharm显示停止工作解决办法: 将python. ...

  3. [0, 1] 区间内 n 次独立随机事件的一些问题

    问题一 证明:一根1米长的绳子,随机切成 $N$ 刀,变成($N+1$)根绳子,则最短的一根绳子长度的期望为 $\displaystyle \frac{1}{(N+1)^2}$. 证: 引理:当分成 ...

  4. 普通的java Ftp客户端的文件上传

    关于ftp上传文件其实并不难,但有时候面对现实的环境还是很蛋疼的,今天我就分享一下,普通的上传文件文件至FTP的方式,它满足大部分FTP,但也有特别的,下篇博客会提及到. 下面我用一个FtpUtil, ...

  5. sql server if exists用法

    if exists用法     if exists 判断表中的内容是否存在     IF EXISTS(SELECT FROM proprice_sheet WHERE vndcode = @vndc ...

  6. QT项目之创建.pri文件

    做大项目的时候,有很多.h和.cpp文件,会很繁琐.就需要.pri文件夹,将大项目分解成一个个的子项目,方便理清思绪和后期维护. 废话不多说,直接上过程! 第一步:新建一个项目.如图,选择choose ...

  7. Redis Mysql 双写一致性问题

    一:序 - 最近在对数据做缓存时候,会涉及到如何保证 数据库/Redis 一致性问题. - 刚好今天来总结下 一致性问题 产生的问题,和可能存在的解决方案. 二:(更新策略)-  先更新数据库,后更新 ...

  8. 使用jsonpath解析多层嵌套的json响应信息

    Python自带的json库可以把请求转为字典格式, 但在多层嵌套的字典中取值往往要进行多次循环遍历才能取到相应的数据, 如: res_dict = { "code": 0, &q ...

  9. Java 8:掌握 Lambda 表达式

    本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总 ...

  10. 已安装gcc编译器,但./configure还是提示找不到编译器(分析)

    1.编译nginx前, ./configure检查提示找不到C编译器 [root@test nginx-]# ./configure checking for OS + Linux -.el7.x86 ...