Python可迭代对象中的添加和删除(add,append,pop,remove,insert)

list:

classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

classmates.append(‘Adam‘)    //添加在末尾,没有add()方法

classmates.insert(1, ‘Jack‘) //在指定位置添加

classmates.pop(1)            //在知道位置删除,参数是索引

del classmate[1]             //删除第二个元素

classmates.remove(‘Bob‘)     //参数是元素,删除第一个与Bob值匹配的元素,之后又相同元素不会删除

dict:

d = {‘a‘: ‘A‘, ‘b‘: ‘B‘}

del d[‘a‘]

d.pop(‘a‘)    //参数是key,没有remove()方法

d[‘c‘]=‘C‘;   //插入直接赋值即可

set:

s={1,2,3}       //set对象的创建也可以是s=set(iterable)

s.add(8)        //添加8到末尾   没有append()方法

s.remove(8)     //参数是元素,不是索引    删除8   

s.pop()         //删除最后一个元素

tuple:

由于tuple一旦初始化就不能修改,所以不能插入和删除

原文地址:https://www.cnblogs.com/TF511/p/9665524.html

时间: 2024-10-08 15:33:34

Python可迭代对象中的添加和删除(add,append,pop,remove,insert)的相关文章

Python已存在对象中如何添加额外功能

在Python项目开发(http://www.maiziedu.com/course/python/)时会用到很多场景,比如插入日志.性能测试.事物处理等等,在这时就会用到Python装饰器,Python装饰器是专门解决这列设计问题的.那今天就用演示的方法讲讲Python装饰. 1. 装饰器入门 1.1. 需求是怎么来的? 装饰器的定义很是抽象,我们来看一个小例子. def foo(): print 'in foo()' foo() 这是一个很无聊的函数没错.但是突然有一个更无聊的人,我们称呼他

【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素

从某个可迭代对象中分解出N个元素,但是可迭代对象的长度可能超过N,会出现“分解值过多”的异常: 使用“*表达式”来解决该问题: Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. &

第八章 Python可迭代对象、迭代器和生成器

8.1 可迭代对象(Iterable) 大部分对象都是可迭代,只要实现了__iter__方法的对象就是可迭代的. __iter__方法会返回迭代器(iterator)本身,例如: >>> lst = [1,2,3] >>> lst.__iter__() <listiterator object at 0x7f97c549aa50> Python提供一些语句和关键字用于访问可迭代对象的元素,比如for循环.列表解析.逻辑操作符等. 判断一个对象是否是可迭代对象

JavaScript中对象属性的添加和删除

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 用.为对象添加属性 用关键字delete删除属性 用[]添加属性 和.的不同 r.name==r["name"]; r.

从任意长的可迭代对象中分解元素(*式方法)

1.假设需要从长度为2N的可迭代对象中,分解出N个的元素 案例: 1 def drop_first_last(grades): 2 first,*middle,last = grades 3 return avg(middle) 2.*式方法迭代一个变长的元组尤其有用 1 records = [('foo',1,2),('bar','hello'),('foo',3,4)] 2 def do_foo(x,y): 3 print('foo',x,y) 4 5 def do_bar(s): 6 pr

Vue &amp;&amp; Angular 双向绑定检测不到对象属性的添加和删除

由于ES5的限制 Vue  && Angular 双向绑定检测不到对象属性的添加和删除  还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都setter和getter进去了. 两个实现的机制不一样.故解决方案也不一样. 详情查看:https://cn.vuejs.org/v2/guide/list.html#对象更改检测注意事项 Angular解决方案: 可以手动调用$apply()方法,会再自动轮询一遍 Vue解决方案: 使用vm.$set(对象

Linux系统中如何添加及删除网关

Linux系统中如何添加及删除网关 如何添加网关: 1.临时添加网关 route add default gw x.x.x.x 临时加网关,马上生效 2.永久添加网关: vim /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY=x.x.x.x 或者 vim /etc/rc.local .. route add default gw x.x.x.x 注意: 加网关只能加你已经有的路由网段里的一个IP才行 加网关可以不用指定子网掩码(因为是已有的一个

python学习之配置文件查看,添加,删除配置程序(作业三)

思维还有点乱,撸代码到深夜,先上代码吧.(我是跟着武sir的思路的) 流程图: 代码(有注释): 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import json,os 4 def login(): 5 flag = False 6 while True: 7 username = input("Please enter a user name:") 8 l = open('name_lock.txt','r') 9 for

Unity NGUI中动态添加和删除sprite

转自:http://www.cnblogs.com/vitah/p/3897664.html (以后,参考链接和作者将在文章首部给出,转载请保留此部分内容) 参考链接:http://www.narkii.com/club/thread-299977-1.html,作者:纳金网 比巴卜: 参考链接:http://game.ceeger.com/forum/read.php?tid=2852,作者:Unity圣典论坛 kuku小夭 动态添加和删除Sprite可以在很多地方用到,这里以实现显示技能CD