python3中列表、元组、字典的增删改查说明详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python3中列表、元组、字典的增删改查说明详解
python基础中的列表、元组、字典属于python中内置的序列数据结构。
其中序列可以进⾏的操作包括索引、截取(切⽚)、加、乘、成员检查等。
1、列表
列表(list)是最常⽤的python数据类型之⼀,列表的数据项不需要具有相同的类型。
创建⼀个列表,只需要把⽤逗号分隔开的不同数据项使⽤⽅括号[]括起来即可。
创建列表实例如下:
list1 = ["test","测试",1997,2000];
list2 = [1,2,3,4,5,6];
list3 = ["a","b","c","d"];
列表的索引是从0开始,列表可以进⾏截取(切⽚)、组合。
⼀、访问列表的元素
访问的⽅式可以是通过下标索引,也可以是以⽅括号的形式截取字符。
1 list1 = ["test","测试",2018,2019,];
2 list2 = [1,2,3,4,5,6];
3 print("list1[0]:",list[0])
4 print("list2[1:5]:",list2[1:5])
以上实例输出的结果为:
1 list1[0]: test
2 list2[1:5]: [2,3,4,5]
⼆、增加列表中的元素
使⽤append()⽅法在列表的末尾增加新的元素。
1 list1 = ["test","测试",2018,2019,];
2 list1.append(2020)
3print(list)
以上实例输出的结果为:
1 ["test","测试",2018,2019,2020]
三、修改列表中的元素
实例如下:
1 list1 = ["test","测试",2018,2019,];
2print("修改前的列表元素:",list1)
3 list1[2] = 2017; #将列表中索引为2的元素修改为2017
4print("修改后的列表元素:",list2)
以上实例执⾏后的结果为:
1修改前的列表元素:["test","测试",2018,2019,]
2修改后的列表元素:["test","测试",2017,2019,]
四、删除列表中的元素
⽅法⼀:使⽤del语句来删除列表的元素,实例如下:
1 list1 = ["test","测试",2018,2019,];
2print(list1)
3del list1[2]
4print("删除索引为2的元素后的列表:",list1)
以上实例执⾏后展⽰的结果为:
1 ["test","测试",2018,2019,]
2 ["test","测试",2019,]
⽅法⼆:使⽤remove()⽅法来删除列表中的元素,实例如下:
1 list1 = ["test","测试",2018,2019,];
2 list1.remove(2018)
3 list1.remove("测试")
4print("删除部分元素后的列表:"list1)
以上实例执⾏后展⽰的结果为:
1 ["test",2019,]
⽅法三:使⽤pop()⽅法来删除列表中的指定位置的元素,⽆参数时默认删除最后⼀个元素,实例如下:
1 list1 = ["test","测试",2018,2019,];
2 list1.pop(1) #删除位置1的元素测试
3 list1.remove() #删除最后⼀个元素 2019
4print("删除部分元素后的列表:",list1)
以上实例执⾏后展⽰的结果为:
1 ["test",2018]
五、列表的其他操作符
列表对“+”和“*”的操作符与字符串相似。
+号⽤于组合列表,*⽤于重复列表。
其操作符如下:
python列表的操作符
python表达式描述结果
len([1,2,3])长度3
[1,2,3]+[4,5,6]组合[1,2,3,4,5,6]
["ha"]*4重复["ha","ha","ha","ha"]
3 in [1,2,3]元素是否在列表中True
for x in [1,2,3]:print(x,end="")迭代 1 2 3
六、python列表内置函数和⽅法
python列表的⽅法和内置函数(假设列表名为list)
⽅法功能
list.append(obj)在列表的末尾添加新的元素
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾⼀次性追加另⼀个序列中的多个值
list.index(obj)从列表中找出某个值第⼀个匹配项的索引位置
list.insert(index,obj)将元素插⼊到列表中的指定位置
list.pop(index)移除列表中的指定位置的元素,不指定位置时默认移除最后⼀个
list.remove(obj)移除列表中某个值的第⼀个匹配项
list.reverse()反转列表中的元素的位置
list.sort([func])对原列表进⾏排序
len(list)内置函数,列表中元素的个数
max(list)内置函数,返回列表中元素的最⼤值
min(list)内置函数,返回列表中元素的最⼩值
list(seq)内置函数,将元组转换成列表
2、元组
元组的与列表类似,但是也有不同,不同之处在于元组中的元素不能修改。
元组使⽤⼩括号(),列表使⽤⽅括号[],元组中的元素类型也是可以不同的。
⼀、创建元组
可以通过直接在括号中添加元素,并使⽤逗号隔开即可。
实例如下:
1 tup1 = ("test","测试",2018,2019)
2 tup2 = (1,2,3,4,5,6)
3 tup3 = "a","b","c","d"
4 tup4 = () #创建空元组
当元组中只有⼀个元素时需要在元素后边添加逗号,实例如下:
1 tup5 = (20,)
在元组中下标索引同样是从0开始,可以进⾏截取,组合等操作。
⼆、访问元组
可以通过下标索引来访问元组中的元素,实例如下:
1 tup1 = ("test","测试",2018,2019)
2 tup2 = (1,2,3,4,5,6)
3print("tup1[0]:",tup1[0]) #输出元组中第⼀个元素
4print("tup2[1:5]:",tup2[1:5]) #切⽚,输出从第⼆个元素开始到第5个元素
5print("tup2[2:]:",tup2[2:]) #切⽚,输出从第三个元素开始的以后的所有元素
6print(tup2 * 2) #输出元组元素两次
以上实例输出的结果展⽰如下:
1 tup1[0]: 中国
2 tup2[1:5]: (2,3,4,5)
3 (3,4,5,6)
4 (1,2,3,4,5,6,1,2,3,4,5,6)
三、连接元组
元组是不能直接修改,但是可以创建新元组,实例如下:
1 tup1 = (10,20,30)
2 tup2 = (100,200)
3 tup3 = tup1 + tup2
4print(tup3)
以上实例输出的结果展⽰如下:
(10,20,30,100,200)
四、删除元组
元组中的元素不允许被直接删除,但是可以通过del语句来删除整个元组,实例如下:
1 tup1 = ("test","测试",2018,2019)
2print(tup1)
3del tup1
4print("删除元组tup1后的结果为:",tup1)
以上实例输出的结果展⽰如下:
1 ("test","测试",2018,2019)
2删除元组tup1后的结果为:NameError:name "tup1"is not defined
由上可见,删除元组后在输出会报错。
根据报错信息看出,名字为tup1的元组不存在
五、元组运算符
与字符串⼀样,元组之间可以使⽤+ 和*进⾏运算,意思就是可以进⾏组合和复制,运算后可以⽣成⼀个新的元组,其中操作符如下:
python元组的操作符号
python表达式描述结果
len(1,2,3)计算元素个数3
(1,2,3)+(4,5,6)连接(1,2,3,4,5,6)
("a","b") * 3复制("a","b,"a","b"","a","b")
3 in (1,2,3)元素是否存在True
for x in (1,2,3):print(x,end="")遍历元组 1 2 3
元组中包含的内置函数如下:
python元组的内置函数
⽅法描述⽅法描述
len(tuple)计算元组的元素个数min(tuple)返回元组中元素的最⼩值
max(tuple)返回元组中元素的最⼤值tuple(seq)将列表转换为元组
对内置函数的使⽤实例如下:
1 tup1 = (56,12,45,75,85)
2 y = min(tup1)
3print(y) #输出的结果应该为12
注意:可以使⽤元组来⼀次性对多个变量进⾏赋值,如:
1 (x,y,z) = (1,2,3)
2print(x,y,z)
如果想实现x,y的交换也是可以滴
1 y,x = 1,2
2 x,y = y,x
3print(x,y) # 输出的结果为 1,2
3、元组与列表的转换
在实际中,元组、列表、字符串之间是可以相互转换的,需要使⽤到的三个函数,str()、tuple()、list()
⼀、将元组转换为列表
列表对象 = list(元组对象)
实例如下:
1 tup = (1,2,3)
2 list1 = list(tup) #将元组转换为列表
3print(list1) #此处输出是[1,2,3]
⼆、将列表转换为元组
元组对象 = tuple(列表对象)
实例如下:
1 nums = [1,2,3,4]
2 tup = tuple(nums) #将列表转换为元组
3print(tup) #此处应该输出 (1,2,3,4)
三、将列表转换为字符串
实例如下:
1 nums1 = [1,3,5,7,8,10]
2 str1 = str(nums1) #列表转换成字符串,返回字符串:[1,3,5,7,8,10]
3print(str1[2]) #打印出逗号,在字符串中索引为2的元素是逗号
4 nums2 = ["test","测试",100,200]
5 str2 = "%"
6 srt2 =str2.join(num2) #⽤百分号连接起来的字符串
7 str2 = ""
8 str2 = str2.join(num2) #⽤空字符连接起来的字符串
四、字典
python中字典是⼀种可变容器模型,且可存储任意类型对象,如字符串、列表、元组、数字等。
也被称作是关联数组或哈希表。
⼀、创建字典
字典由键和对应值组成(key=>value)成对组成。
字典的每个键和对应的值之间⽤冒号隔开,键/值对之间⽤逗号隔开,整个字典⽤花括号{}括起来,基本语法如下:
1 d = {key1:value1,key2:value2}
注意:键必须是唯⼀的,但值不⼀定,值可以取任何数据类型,且键必须是不可变的,如字符串、数字、元组等。
字典实例:
1 dict = {"xmj":40,"zhan":91,"wang":80}
⼆、字典的特性:
1、字典值可以是任何python对象,如字符串、数字、元组等
2、不允许同⼀个键出现两次,创建时如同⼀个键被两次赋值,后⼀个值会被覆盖前⾯得值。
3、键必须不可变,所以可以⽤数字,可以⽤数字、字符串、元组等,⽤列表就不可⾏。
三、访问字典⾥的值
访问字典⾥的值时把相应的键放⼊⽅括号中,实例如下:
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2print("dict["Name"]: ",dict["Name"])
3print("dict["Age"]: ",dict["Age"])
以上实例输出的结果展⽰如下:
1 dict["Name"]: 测试
2 dict["Age"]: 20
如果访问的值不存在则会报错
四、修改字典元素
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2 dict["Age"] = 30 # 更新字典中键为Age的值
3 dict["School"] = "中国⼤学"# 新增⼀个键和值
4print("dict["Age"]: ",dict["Age"])
5print("dict["School"]: "dict["School"])
以上实例输出的结果展⽰如下:
1 dict["Age"]: 30
2 dict["School"]: 中国⼤学
五、删除字典元素
del() ⽅法允许使⽤键从字典中删除元素。
clear()⽅法清空字典中所有的元素。
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2del dict["Name"] #删除字典中键为Name的元素
3 dict.clear() #清空字典中所有的元素
4del dict #删除字典,这样操作后字典将不复存在
六、in运算
检查某个值是否存在字典中。
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2print("Age"in dict) #等价于print(dict.has_key("Age")) 输出结果为True
七、获取字典中的所有值
values()以列表返回字典中所有的值,实例如下:
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2 print(dict.values()) #返回的结果为 ["测试",20,"计算机⼀班"]
⼋、items()⽅法
items()⽅法把字典中每对key和value组成⼀个元组,并把这些元组放在列表中返回。
1 dict = {"Name":"测试","Age":20,"class":"计算机⼀班"}
2for key,value in dict.items():
3print(key,value)
以上实例输出的结果展⽰如下:
1 Name 测试
2 Age 20
3class计算机⼀班
注意:字典中的元素没有顺序之分,所有有时候打印出来的顺序与重建之初的顺序不⼀致,这不是错误。
因为在存储是⾃动做了优化,这样的存储于查询的效率更⾼。
字典与列表的⼀个区别:列表中保持元素的相对关系,即序列关系;⽽字典中完全是⽆序的,所以是⾮序列。
如果想要保持⼀个集合中元素的顺序则需要使⽤列表⽽不是字典。
python 中字典的内置函数与⽅法汇总
函数描述
dict1.clear()删除字典中所有的元素dict1.copy()
返回字典的副本,类似于复制
dict1.fromkeys(seq,value)创建⼀个新字典,以序列seq 中的元素作为字典的键,以value 中的值作为字典中的键对应的初始值dict1.get(key,default=None)返回指定键的值
dict1.has_key(key)在python3.0以后此⽅法已经删除dict1.items()以列表返回可遍历的(键,值)元组数据dict1.keys()以列表返回字典所有的键dict1.setdefault(key,default=None)和get()类似,但如果键不存在与字典中则会添加键并将值设为default
dict1.update(dict2)把字典dict2的键/值更新为dict1中dict1.values()以列表返回字典中的所有值cmp(dict1,dict2)内置函数,⽐较两个字典的元素
len(dict)内置函数,计算字典元素个数,既键的总数str(dict)内置函数,输出字典可打印的字符串表⽰
type(variable)
内置函数,返回输⼊的变量类型,如果变量是字典就返回字典类型。
九、字典的内置函数与⽅法汇总
假设字典名称为dict1。