Python列表(list)、元组(tuple)和字典(dictionary)的区别

目录

列表(list)

 访问列表元素

 更新和删除列表元素

元组(tuple)

元组的访问、更新、删除操作 

字典(dictionary) 

创建空字典

修改、删除字典

总结

列表、元组和字典的介绍

列表(list)、元组(tuple)和字典(dictionary)都是序列,序列都是由索引和元素组成。遍历和访问都按照如下格式:

Python列表(list)、元组(tuple)和字典(dictionary)的区别_第1张图片

具体索引知识和切片请查看:Python3 字符串

对位置索引不清楚的可以查看下面链接,方便理解下文介绍,有基础的可以跳过。

Python中的X[1:]、X[:-1]、X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]等下标索引的思考icon-default.png?t=M4ADhttps://blog.csdn.net/qq_44444503/article/details/124188526

列表(list)

创建列表,格式为:['...' , '....' , ..... '....' ],用逗号分隔,用方括号括起来。

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

 访问列表元素

Python列表(list)、元组(tuple)和字典(dictionary)的区别_第2张图片

Python列表(list)、元组(tuple)和字典(dictionary)的区别_第3张图片

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

输入结果:=======================================
red
green
blue

 更新和删除列表

可以使用 append() 方法来添加列表元素,del删除列表元素,看下代码你就懂了。

list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
#列表更新操作
list[2] = '马保国'
print ("更新第三个元素的列表 : ", list)
#列表删除操作
del list[2]#删除索引为2的列表元素,也就是删除列表的第三个元素
print ("删除第三个元素: ", list)
#列表append操作
list.append('Baidu')
print ("更新后的列表 : ", list)

输出结果:========================================
原始列表 :  ['Google', 'Runoob', 1997, 2000]
更新第三个元素的列表 :  ['Google', 'Runoob', '马保国', 2000]
删除第三个元素:  ['Google', 'Runoob', 2000]
更新后的列表 :  ['Google', 'Runoob', 2000, 'Baidu']

元组(tuple)

Python 的元组与列表类似,但是元组的元素不能修改元组使用小括号 ( ),列表使用方括号 [ ]

Python列表(list)、元组(tuple)和字典(dictionary)的区别_第4张图片

 特殊情况:元组中只有一个元素时,需要在元素后面添加逗号 ,否则括号会被当作运算符使用:

tup1 = (50)
type(tup1)     # 不加逗号,类型为整型


tup1 = (50,)
type(tup1)     # 加上逗号,类型为元组

元组的访问、更新、删除操作 

元组的访问、删除操作与列表相同 ,元组的元素不能修改,但可以对元组连接组合;元组的元素值也不能删除,只能删除整个元组看下代码:

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = ('Baidu', '腾讯')
tup = tup1 + tup2  # 元组连接组合
print('连接组合后的元组:',tup)
del tup#要删除只能删除整个元组,不能删除元组的某个元组
print("删除后的元组 tup : ")
print(tup)#输出结果会报错:NameError: name 'tup' is not defined

输出结果:=========================
NameError: name 'tup' is not defined
连接组合后的元组: ('Google', 'Runoob', 1997, 2000, 'Baidu', '腾讯')
删除后的元组 tup : 

字典(dictionary) 

字典的每个键值 key : value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,注意dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。举例如下:

tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

Python列表(list)、元组(tuple)和字典(dictionary)的区别_第5张图片

创建空字典

主要有以下两种方法。

emptyDict = {}#方法一:使用{ }创建

emptyDict = dict()#方法二:使用内建函数 dict() 创建

修改、删除字典

 首先看下修改字典元组和键,具体如下:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8               # 更新 Age
tinydict['School'] = "菜鸟教程"  # 添加信息
 
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])

输出结果:=======================================
tinydict['Age']:  8
tinydict['School']:  菜鸟教程

删除:能删单一的元素也能清空字典,清空只需一项操作。删除一个字典用del命令,具体如下:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print('原字典:',tinydict)
del tinydict['Name'] # 删除键 'Name'
print('删除键Name后:',tinydict)
print ("字典Age的键值: ", tinydict['Age'])
tinydict.clear()     # 清空字典
del tinydict         # 删除字典,会引发异常,因为用执行del操作后字典不再存在
print ("tinydict['School']: ", tinydict['School'])     

输出结果:==============================================
原字典: {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
删除键Name后: {'Age': 7, 'Class': 'First'}
字典Age的键值:  7
Traceback (most recent call last):
    print ("tinydict['School']: ", tinydict['School'])
NameError: name 'tinydict' is not defined

总结

1.列表、元组和字典都是序列

2.列表字典可以修改和删除序列中的某个元素,而元组就是一个整体,不能修改和删除,一定要修改或删除的话,只能修改和删除整个元组。

3.既然元组不能删除和修改,有什么作用呢?

        1.元组比列表遍历速度快,因为元组是一个整体,运算效率高;

        2.正是因为不能修改,元组可以保护不需要修改的数据,可以使代码结构更安全。

你可能感兴趣的:(python,开发语言)