Python档案袋(列表、元组、字典、集合 )
列表
可以同名,有序(通过下标可找到)
取值:
1 #声明列表2 listx=["L0","L1","L2",33,"L4"]3 print(listx) #输出:['L0', 'L1', 'L2', 33, 'L4']4 print(len(listx)) #统计总个数,输出:55 print(listx[1]) #下标取值,输出:L16 print(listx[0:2])#切片区间为:[0,2),输出:['L0', 'L1']7 print(listx[:2])#输出:['L0', 'L1']8 print(listx[-1])#倒数第一个,输出:L49 print(listx.index("L1"))#查找内容的下标,查找到第一个,输出:1 10 print(listx.count("L4")) #统计值为L4的个数 输出:1
遍历:
1 #声明列表 2 listx=["L0",[11,22,33],"L1"] 3 4 print(type(listx)) #输出类型为:<class 'list'> 5 6 for i in listx: 7 print(i) #输出:L0 [11, 22, 33] L1
修改:
1 #声明列表2 listx=["L0","L1","L1"]3 4 listx[2]="L1.1" #修改值5 listx.append("L2") #追加,结尾添加6 listx.insert(1,"L1.0") #插入,参数(位置,内容)7 8 listx.reverse()#反转9 listx.sort()#排序 10 11 print(listx) #输出:['L0', 'L1', 'L1.0', 'L1.1', 'L2']
删除:
1 #声明列表 2 listx=["L0","L1","L2",33,"L4"] 3 listx.remove("L2") #删除,以内容 4 del listx[0] #删除,以下标 5 listx.pop(0) #删除,以下标,默认删除最后一个 6 7 #listx.clear() #清空列表 8 print(listx) #输出:[33, 'L4']
利用for循环的列表生成:
#生成列表,for循环的值传递到前面的算式进行值的修改 listx=[i*10 for i in range(10)]print(listx)#输出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
列表排序:
#排序 listx=[20,100,66,99,11] print(sorted(listx)) #排序,输出:[11, 20, 66, 99, 100]
列表合并:
list1=[11,22] list2=[99,88]list1.extend(list2) #扩展 print(list1) #输出:[11, 22, 99, 88]
列表的一一对应:
1 #一 一对应 2 list1=[11,22,33,88] 3 list2=["cc","bb","aa","dd"] 4 res=zip(list1,list2)#变成一个迭代器 5 print(next(res)) #输出:(11, 'cc')
字符串与列表的转换:
函数eval()可以将格式化的字符串转换为列表、字典等数据类型
1 a="[11,33,55]" 2 3 #转换函数 4 aa=eval(a) 5 print(aa[2]) #输出:55 6 7 #进列表转换为字符串 8 print(type(str(a))) #输出:<class 'str'>
浅copy,只copy第一层:
1 #声明列表2 listx=["L0",[11,22,33],"L1"]3 4 list2=listx.copy()#浅copy,只copy第一层5 6 list2[0]="L0000" #只改自己7 list2[1][2]=3333333333 #一改全改8 9 print(listx)#输出:['L0', [11, 22, 3333333333], 'L1'] 10 print(list2)#输出:['L0000', [11, 22, 3333333333], 'L1']
深copy,独立分配内存空间
1 import copy2 3 #声明列表4 listx=["L0",[11,22,33],"L1"]5 6 list2=copy.deepcopy(listx)#深copy,独立分配内存空间7 8 list2[0]="L0000" #只改自己9 list2[1][2]=3333333333 #只改自己 10 11 print(listx)#输出:['L0', [11, 22, 33], 'L1'] 12 print(list2)#输出:['L0000', [11, 22, 3333333333], 'L1']
元组:
值不可更改,值可重复,有序(通过下标可找到)
1 #声明元组2 va=("dongxiaodong","东小东","222","dong","dong",("11",22,33))3 4 print(type(va))#类型,输出:<class 'tuple'>5 6 print(len(va)) #总个数,输出:67 8 print(va.count("dong")) #统计某个值的个数 输出:29 10 print(va.index("dong")) #查询值的下标 输出:3 11 12 print(va[1]) #下标取值,输出:东小东
字典:
无序,键不可重复
1 #创建字典方法12 va={"v1":"111","v2":"222",33:"333"}3 4 #创建字典方法25 va2=dict.fromkeys(["v1","v2",33],"xxxxx") #创建不同的键对应一个值6 print(va2) #输出:{'v1': 'xxxxx', 'v2': 'xxxxx', 33: 'xxxxx'}7 8 9 print(va[33]) #通过键取值,不存在则报错 10 print(va.get(44)) #存在则返回值,不存在则返回None 11 12 print("v1" in va) #判断键是否存在字典中 13 14 va["v1"]="1x1x1x1" #修改 15 16 va["v3"]="xxxx333333" #添加 17 18 va.update({"v1":"vvvvv11111","v4":"444444"}) #键存在则更新值,键不存在则创建 19 20 print(va.items()) #输出:dict_items([('v1', 'vvvvv11111'), ('v2', '222'), (33, '333'), ('v3', 'xxxx333333'), ('v4', '444444')]) 21 22 23 24 #del va["v2"] #删除某对 25 #va.pop("v3") #删除某对 26 27 #va.popitem() #随机删除一对,默认删除最后一对 28 29 #del va #删除所有 30 31 print(va) #打印所有 32 33 34 #字典循环打印方法1 35 #效率较高,推荐 36 #循环键 37 for i in va: 38 print(i,va[i]) 39 40 #字典循环打印方法2 41 #循环键值 42 for k,v in va.items(): 43 print(k,v)
字典的排序
1 #排序2 a={"5":55555,"2":88888,"32":22222}3 4 #按键排序,键的数据类型必须一样5 #输出:[('2', 88888), ('32', 222222), ('5', 55555)]6 print(sorted(a.items()))7 8 #按值排序,值的数据类型必须一样9 #输出:[('32', 22222), ('5', 55555), ('2', 88888)] 10 print(sorted(a.items(),key=lambda x:x[1]))
集合
值不可重复,重复则保留其中一个,无序,因为集合是无序的,所以取值一般都是经过for循环,而不会使用下标取值
1 listx1=set(["10",10,11,12,12])2 print(listx1) #输出:{10, 11, 12, '10'}3 4 listx2=set([10,100])5 6 #交集7 #方法1:8 print(listx1.intersection(listx2)) #输出:{10}9 #方法2: 10 print(listx1 & listx2)#输出:{10} 11 12 #并集 13 #符号为:| 14 print(listx1.union(listx2)) #输出:{100, 10, 11, 12, '10'} 15 16 #差集 17 #符号为: - 18 # 在listx1中有,但listx2中没有的,参数可有对换 19 print(listx1.difference(listx2)) #{11, 12, '10'} 20 21 #子集 22 #listx2w是不是listx1的子集,返回bool 23 print(listx2.issubset(listx1)) #输出:False 24 25 #父集 26 #listx1是不是listx2的父集,返回bool 27 print(listx1.issuperset(listx2)) #输出:False 28 29 #对称差集 30 #在并集的基础上将两个集合都有的元素去掉 31 print(listx2 ^ listx1) #输出:{100, 11, 12, '10'} 32 33 listx2.add("dongxiaodong") #添加一项 34 listx2.update(["dong1","dong2"]) #添加多项 35 36 listx2.remove("dong1") #删除一项,不存在会报错 37 listx2.discard("dong1")#删除一项,不存在会返回None 38 39 print(len(listx2)) #打印长度 40 41 print(listx2)
转载于:https://www.cnblogs.com/dongxiaodong/p/10649603.html
Python档案袋(列表、元组、字典、集合 )相关推荐
- python中列表 元组 字典 集合的区别
参考文章:python中列表 元组 字典 集合的区别
- python入门——列表+元组+字典+集合
列表 列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 1.列表嵌套(相当于二维数组) a=["b",'c','d'] ...
- python列表元组字典集合实验心得_python学习小总结(列表、元组、字典、集合、字符串)...
---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...
- Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程
目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...
- python_列表——元组——字典——集合
列表--元组--字典--集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Python 列表元组字典集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
- python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...
Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...
- python初级6元组字典集合
1.元组简介 元组基本介绍 a=() print(type(a)) <class 'tuple'> 元组类型 ●元组表现形式tuple ●元组也可以通过索引取值 还要注意 print(a[ ...
- Python列表/元组/字典/集合详解
本文是对Python中的列表.元组.字典.集合知识的梳理总结,将Python的重要知识点梳理成条,通过一个简单的员工管理系统(EMS)实战,可以深入的了解Python的基本知识.本文基本上涵盖了在日常 ...
- python 数据类型:整型 字符串 布尔值 列表 元组 字典 集合
不可变类型:整型 字符串 整型 字符串 可变类型:列表 字典 一.列表常用命令 #增删改查 #查 切片 [] # print(a[1:])#取到最后 # print(a[1:-1])#取到倒数第二值 ...
最新文章
- 绝对干货:19个有用的基于云的Web开发工具
- 剑指offer 面试16题
- 七夕节福利,一套java架构师资源等你拿
- c++中结构体套结构体用 = {0}初始化编译报错解决办法(用memset或者={})(error: invalid conversion)
- PAT——个位数统计(1021)
- SAP Spartacus ConfigModule.withConfig的处理逻辑
- 如何在Chrome开发者工具里找出SAP Fiori frontend server的systen ID
- 红芯事件追踪:官方致歉承认基于开源架构;创始人履历被指夸大
- bzoj3067: Hyperdrome
- 安装yasm(汇编编译器)和 nasm
- 服务器主板重装系统,简单几步教你如何重新安装系统
- JavaFX+Kotlin游戏从入门到放弃:拯救蛇蛇大作战又名454行实现几何数独游戏
- java 坦克大战画坦克_【JAVA语言程序设计基础篇】--JAVA实现坦克大战游戏--画出坦克(二)...
- 作为 IT 从业人员,你觉得有什么工具大大提高了你的工作效率?
- OSChina 周三乱弹 —— 啪啪啪是敲键盘的声音
- CALL入门篇一:CALL的本质
- java-JDK11“ jstat -gc”中“ CGC”和“ CGCT”是什么意思?
- 语义分割各种评价指标实现
- LCD1602液晶显示模块学习笔记
- setTextColor的几种方式 CrashHandler使用demo: