python中的list,tuple,dict,set简介---陈雨童
变量和对象 变量把对象和自己连接起来(指针连接对象空间),引用建立了变量和对象之间的映射关系,这就是引用。引用完成,就实现了赋值。变量通过对象的内存地址指向对象,类似于软链接
将变量a赋值给变量b,其实就是将b指向变量a指向的对象的内存地址
以下4种对象类型内的元素都是变量
列表list是一种有序的集合,可以随时添加和删除其中的元素。用方括号[]来表示列表,并用逗号分隔元素 如a=[1,2,3]
Len()函数可获得list的元素个数
列表是有序集合,访问列表中的元素时,指出列表名称,并将元素索引放在[ ]内,索引从0开始。
Python可以通过负数的索引返回列表内倒数的元素,如a[-1] a[-2]分别为倒数第一个第二个元素,以此类推
可以通过索引加冒号的方式进行切片 如 a[1:4]将索引1和索引3以及之间的元素输出为一个新的列表 可用切片以复制列表
注意索引不要越界,否则就会报错
可用 + 号将两个列表首尾相连如 []
修改添加删除元素:
修改列表中的元素:a[1]=’321’ 直接通过列表索引赋值即可
列表末尾添加元素: a.append()
插入元素:a.insert(i,(1,2,3)) i为元素插入后在列表内的索引,原索引位元素以及往后元素的索引加1
删除列表末尾元素:a.pop()
删除指定位置的元素:a.pop(i) ,i为索引位置
或者用del a[i]也可以删除指定位置元素 (del为删除变量的函数,并不删除变量指向的数据)
当不知道位置时根据值进行删除:a.remove(),括号内填入需删除的元素的值,输入不存在的元素会报错
通过sort()方法进行排序 默认为升序,sort(reverse=True)进行降序
列表生成式 如[x*x for x in range(1,10)]
在for循环后可加if语句进行判断筛选如[x*x for x in range(1,10) if x % 2 !=0]
另一种有序的集合叫元组tuple。tuple和list非常类似,用小括号表示(不使用小括号python也能识别为元组,建议使用小括号的方式)但是tuple一旦初始化就不能修改
tuple不可变,所以代码相对安全,且相比列表占用内存更少。如果可能,能用tuple代替list就尽量用tuple
关于元组其他一些细节:
定义一个只有1个元素的tuple时,必须加一个逗号,否则只代表该元素本身
Python在显示只有1个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号如(1,)
字典dict,dict全称dictionary,在其他语言中也称为map,使用花括号{ }内的键-值(key-value)存储,查找速度较快。一个key只能对应一个value。用dict()或{ }初始化
其中key只能是不可变对象且同一dict中任意两个key不能相同,而value可以是任意对象
如score={‘ming’:60,’gang’:70,’hong’:80}
字典可为空
通过字典的key访问字典中的值 score[‘ming’]
字典中的value除了初始化时指定,也可通过key值进行修改赋值r如score[‘ming’]=65
可随时在字典内添加键值对 如 score[‘ding’]=75 (dict是无序的,添加顺序与排列顺序无关,不同版本python体现不同)
可以用del或pop()对键值对进行删除(由于dict为无序,pop()中必须添加key,否则会报错)
通过score.items(), score.keys() ,score.values()分别获取dict中所有的键值对、键、值
集合set是一个无序的不重复元素序列,相当于一个只有key没有value的dict。
通过花括号{}或者set()函数进行初始化一个set
通过add()方法添加元素到set
或update()方法添加元素,参数可以是列表,元组,字典等
通过remove()方法删除元素
Set同样具有数学意义上集合的特质,可以进行数学意义上的交集并集等操作,将两个set通过&和|符进行交集或并集运算
python中的list,tuple,dict,set简介---陈雨童的更多相关文章
- Python中的list,tuple,dict和set
List list的创建与检索 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 构造list非常简单,直接用 [ ] 把list的所有元素都括 ...
- Python中的list,tuple,dict,set
list=[11,"aa",33] 增: list.insert(1,"asas") list.append(22) 删: list.pop() list.po ...
- Python中的List,Tuple,Dic,Set
Python中的List,Tuple,Dic,Set List定义 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推 ...
- python中list、tuple、dict、set的使用
1.list列表 list是一种可变的,有序的列表,可以随时添加和删除其中的元素. 其格式如下:list-name=[element1,element2,....] >>> nums ...
- python学习中,list/tuple/dict格式化遇到的问题
昨天上了python培训的第一课,学习了基础知识.包括类型和赋值,函数type(),dir(),id(),help()的使用,list/tuple/dict的定义以及内置函数的操作,函数的定义,控制语 ...
- Python:数据结构(list, tuple, Dict & Set)
list: Python中内置的有序数据结构,即数组.由于Python是动态语言,因此数组元素的类型没有限定. classmates = [“Michael”, “David”,”Bob”,”Trac ...
- python学习笔记(二)python基础知识(list,tuple,dict,set)
1. list\tuple\dict\set d={} l=[] t=() s=set() print(type(l)) print(type(d)) print(type(t)) print(typ ...
- python中strip,lstrip,rstrip简介
一.起因 今天在做角色控制中,有一个地方用到rstrip,判断用户请求的url是否与数据库对应可用权限中url相符. if request.path == x.url or request.path. ...
- Python中的元组(tuple)、列表(list)、字典(dict)
-------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...
随机推荐
- VMware HorizonView虚拟化桌面TLS问题处理
问题描述 公司虚拟化桌面环境内,进出口事业部同事在使用"中国贸易单一窗口"登录系统时,其系统本地控件无法启动WSS服务,端口显示使用61231,并反复提示安装控件. 排查过程 首先 ...
- [转帖]图说Docker架构的各种信息
图说Docker架构的各种信息 2018-07-18 15:16:04作者:linux人稿源:运维之美 https://ywnz.com/linuxyffq/2344.html 介绍Docker架 ...
- mysql查询出数据更新到另一张表
公司今天有个需求,大体意思就是把一个表的玩家游戏场数统计出来,然后赋值到另一张表的字段上,说白了就是两张表,但是查询出来的玩家账号和次数是多条,尝试很多种写法都没用,最后用了最笨的方式解决. -- - ...
- STL string 常见用法详解
string 常见用法详解 1. string 的定义 //定义string的方式跟基本数据类型相同,只需要在string后跟上变量名即可 string str; //如果要初始化,可以直接给stri ...
- docker-Overlay原生网络
节点1/键值存储:192.168.50.130 :192.168.50.131 1.下载Consul二进制包并启动 wget https://releases.hashicorp.com/consul ...
- 向量运算(lua,三维) 点乘、叉乘、模、夹角
向量运算在游戏制作中经常用到,稍微总结一下. 一.点乘 如图,假设 向量a与b的点乘表示a在b上的投影与b的模的乘积 公式: 代码: function MathHelper.GetVector3D ...
- 树莓派安装SSH
1. 安装ssh sudo apt-get install openssh-server 2. 检查树莓派SSH服务是否开启 ps -e|grep ssh 3. SSH服务开启 sudo /etc/i ...
- MVC4中使用EntityFramework
首先,MVC4不支持EntityFramwok 6版本,如果安装了EntityFramwok 6,则vs不会自动引用dll和修改web.config配置.先删除旧的版本,执行指令:Uninstall- ...
- TCP/IP协议栈各个层次及分别的功能
网络接口层:这是协议栈的最低层,对应OSI的物理层和数据链路层,主要完成数据帧的实际发送和接收.网络层:处理分组在网络中的活动,例如路由选择和转发等,这一层主要包括IP协议.ARP.ICMP协议等.传 ...
- arcgisJs之featureLayer中feature的获取
arcgisJs之featureLayer中feature的获取 在featureLayer中source可以获取到一个Graphic数组,但是这个数组属于原数据数组.当使用 applyEdits修改 ...