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)
3 print(list)

以上实例输出的结果为:

1 ["test","测试",2018,2019,2020]

三、修改列表中的元素

实例如下:

1 list1 = ["test","测试",2018,2019,];
2 print("修改前的列表元素:",list1)
3 list1[2] = 2017;              #将列表中索引为2的元素修改为2017
4 print("修改后的列表元素:",list2)

以上实例执行后的结果为 :

1 修改前的列表元素:["test","测试",2018,2019,]
2 修改后的列表元素:["test","测试",2017,2019,]

四、删除列表中的元素

方法一:使用del语句来删除列表的元素,实例如下:

1 list1 = ["test","测试",2018,2019,];
2 print(list1)
3 del list1[2]
4 print("删除索引为2的元素后的列表:",list1)

以上实例执行后展示的结果为:

1 ["test","测试",2018,2019,]
2 ["test","测试",2019,]

方法二:使用remove()方法来删除列表中的元素,实例如下:

1 list1 = ["test","测试",2018,2019,];
2 list1.remove(2018)
3 list1.remove("测试")
4 print("删除部分元素后的列表:"list1)

以上实例执行后展示的结果为:

1 ["test",2019,]

方法三:使用pop()方法来删除列表中的指定位置的元素,无参数时默认删除最后一个元素,实例如下:

1 list1 = ["test","测试",2018,2019,];
2 list1.pop(1)                 #删除位置1的元素 测试
3 list1.remove()                #删除最后一个元素 2019
4 print("删除部分元素后的列表:",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)
3 print("tup1[0]:",tup1[0])              #输出元组中第一个元素
4 print("tup2[1:5]:",tup2[1:5])          #切片,输出从第二个元素开始到第5个元素
5 print("tup2[2:]:",tup2[2:])            #切片,输出从第三个元素开始的以后的所有元素
6 print(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
4 print(tup3)

以上实例输出的结果展示如下:

(10,20,30,100,200)

四、删除元组

元组中的元素不允许被直接删除,但是可以通过del语句来删除整个元组,实例如下:

1 tup1 = ("test","测试",2018,2019)
2 print(tup1)
3 del tup1
4 print("删除元组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)
3 print(y)                 #输出的结果应该为12

注意:可以使用元组来一次性对多个变量进行赋值,如:

1 (x,y,z) = (1,2,3)
2 print(x,y,z)

如果想实现x,y的交换也是可以滴

1 y,x = 1,2
2 x,y = y,x
3 print(x,y)            # 输出的结果为 1,2

3、元组与列表的转换

在实际中,元组、列表、字符串之间是可以相互转换的,需要使用到的三个函数,str()、tuple()、list()

一、将元组转换为列表

列表对象 = list(元组对象)

实例如下:

1 tup = (1,2,3)
2 list1 = list(tup)        #将元组转换为列表
3 print(list1)              #此处输出是[1,2,3]

二、将列表转换为元组

元组对象 = tuple(列表对象)

实例如下:

1 nums = [1,2,3,4]
2 tup = tuple(nums)        #将列表转换为元组
3 print(tup)               #此处应该输出  (1,2,3,4)

三、将列表转换为字符串

实例如下:

1 nums1 = [1,3,5,7,8,10]
2 str1 = str(nums1)            #列表转换成字符串,返回字符串:[1,3,5,7,8,10]
3 print(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":"计算机一班"}
2 print("dict["Name"]: ",dict["Name"])
3 print("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"] = "中国大学"                                         # 新增一个键和值
4 print("dict["Age"]: ",dict["Age"])
5 print("dict["School"]: "dict["School"])

以上实例输出的结果展示如下:

1 dict["Age"]: 30
2 dict["School"]: 中国大学

五、删除字典元素

del() 方法允许使用键从字典中删除元素。clear()方法清空字典中所有的元素。

1 dict = {"Name":"测试","Age":20,"class":"计算机一班"}
2 del dict["Name"]               #删除字典中键为Name的元素
3 dict.clear()                     #清空字典中所有的元素
4 del dict                         #删除字典,这样操作后字典将不复存在

六、in运算

检查某个值是否存在字典中。

1 dict = {"Name":"测试","Age":20,"class":"计算机一班"}
2 print("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":"计算机一班"}
2 for key,value in dict.items():
3     print(key,value)     

以上实例输出的结果展示如下:

1 Name 测试
2 Age 20
3 class 计算机一班

注意:字典中的元素没有顺序之分,所有有时候打印出来的顺序与重建之初的顺序不一致,这不是错误。因为在存储是自动做了优化,这样的存储于查询的效率更高。

字典与列表的一个区别:列表中保持元素的相对关系,即序列关系;而字典中完全是无序的,所以是非序列。如果想要保持一个集合中元素的顺序则需要使用列表而不是字典。

九、字典的内置函数与方法汇总

假设字典名称为dict1

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) 内置函数,返回输入的变量类型,如果变量是字典就返回字典类型。

原文地址:https://www.cnblogs.com/Zhan-W/p/10421200.html

时间: 2024-10-06 21:27:02

python3中列表、元组、字典的增删改查说明详解的相关文章

SSH登录与增删改查demo详解+源代码

点击下载,测试绝对可用SSH整合框架登录加增删改查demo 下载地址:http://download.csdn.net/detail/qq_33599520/9784679   一.框架概述 spring+Struts2+hibernate(SSH)整合框架是一种非常典型与实用的Web项目MVC架构,其中: Spring主要通过控制反转(IOC)与依赖注入(DI)控制对象的创建与维护,与实现面向切片编程(AOP),核心配置文件为:applicationContext.xml. Struts2是M

列表、字典的增删改查

一.列表: # 列表的作用:存多个值,可以修改 # hobby = ['play','eat','sleep'] # # 列表的具体操作 # 查看: # hobby = ['play','eat','sleep',['egon','ysb']] # f = hobby[2] # 查看hobbyt列表内第二个元素 # print(f) # # 增加(1): # hobby = ['play','eat','sleep',['egon','ysb']] # hobby.append(元素) # f

MongoDB增删改查操作详解

一.插入 MongoDB的插入操作很简单,使用insert方法,这里演示从创建数据库.创建集合到插入文档.查询文档. 集合创建方法参数说明: size:集合最大空间 max:集合最多文档数量 (超出size和max限制都会删除最早的记录) 二.删除 MongoDB删除操作也很简单,使用remove方法,这里演示删除刚刚插入的文档. remove函数如果没有传参数,直接调用则是删除集合中所有文档. 三.更新 为了方便下面的演示,我事先在刚刚创建的'blog'集合中插入了4个文档: 1. 替换整个文

字典 字典的增删改查

1)什么是字典(dict)dict. 以{}表示. 每一项用逗号隔开,内部元素用key:value的形式来保存数据{"jj":"林俊杰", "jay":"周杰伦"} 查询的效率非常高, 通过key来查找元素 内部使用key来计算一个内存地址(暂时),hash算法. key必须是不可变的数据类型(key 必须是可哈希的数据类型) 可哈希就是不可变 2)字典的增删改查 新增: dict["新key"] = &q

python 字典的增删改查

字典 # 1.存储数据比较大 # 2.字典的查找速度比列表快 # 3.字典都是通过键来操作的,且键必须是唯一的. # 4.# dic = {"键":"值","key":"value"} 字典的增删改查 字典增: dic = {} dic["键"]= 值 添加键值对 dic = {} dic.setdefault("键",值) 有则更改,无则添加 字典删: dic = {"111

IOS开发中使用CNContact对通讯录增删改查

IOS开发中使用CNContact对通讯录增删改查 首先当然是把CNcontact包含在工程中: 1 @import Contacts; 1.下面是增加联系人的程序段: 1 CNMutableContact * contact = [[CNMutableContact alloc]init]; 2 contact.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"22"]); 3 //设置名字 4 contact.gi

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

Python3中列表、字典、元组、集合的看法

文首,我先强调一下我是一个弱鸡码农,这个随笔是在我学习完Python3中的元组.字典.列表,集合这四种常见数据的数据类型的一些感想,如果有什么不对的地方欢迎大家予以指正.谢谢大家啦 回归正题:这篇随笔讨论的是列表.字典.元组.集合.因此首先对着三种数据类型进行简要的分析是很有必要的: 1 :列表 列表的特点是以"[ ]" (后面称之为中括号)为主要特点的数据类型.学过其他语言的小伙伴第一反应就是,这不就是一个数组么,确实我个人感觉和数组十分的相似,不过有一下不同: a.在c++/jav

python中列表 元组 字典 集合的区别

列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复项的.如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的.pyt