第十一天 Python之元组-字典

元组

元组(tuple)与列表类似,也是由一系列按特定顺序排列的元素组成。但是它是不可变序列。因此,元组也可以称为不可变的列表。在形式上,元组的所有元素都放在一对小括号“()”中,两个相邻元素间使用逗号“,”分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入元组中,并且同一个元组中,元素的类型可以不同,因为它们之间没有任何关系。

元组的创建和删除

使用赋值运算符直接创建元组

创建元组时,也可以使用赋值运算符“=”直接将一个元组赋值给变量

tuplename = (element1,element2,element3,...,element n)

创建元组的语法和创建列表的语法类似,只是创建列表时用中括号[],而创建元组时用的是小括号()

虽然元组是用一对小括号把所有元素括起来。但实际上,除了小括号还可以将一组值用逗号分隔开来,Python就会认为它是元组

【例子】下面都是合法的元组

num = (1,3,5,7,9)
str = ("人生苦短","Python在手")
title = ('Python',111,"爬虫",["Web全栈","自动化"],("a","b"))
str1 = "人生苦短","Python在手"
str2 = "人生苦短",

创建空元组

创建一个名为tuple_name的空元组。

tuple_name = ()

创建数组元组

可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple()函数的基本语法:

tuple(data)

其中,data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或其他可迭代类型的数据。

删除元组

对于已经创建的元组,可以使用del语句将其删除。

del tuplename

其中,tuplename为要删除元组的名称

访问元组元素

想将元组中的元素输出也是很简单的,可以直接用print()函数。

字典

字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键-值对”的形式存放的。
字典的主要特征:
- 通过键而不是通过索引来读取
它是通过键将一系列的值联系起来,这样就可以通过键从字典中获取指定项,但不能通过索引来获取
- 字典是任意对象的无序集合
字典是无序的,各项是从左到右随机排序的,即保存在字典中的项没有特定的顺序。这样可以提高查找顺序。
- 字典是可变的,并且可以任意嵌套
字典可以在原处增长或缩短(无须生成一份拷贝),并且它支持任意深度的嵌套(即它的值可以是列表或者其他的字典)
- 字典中的键必须唯一
不允许同一个键出现两次,如果出现两次,则最后一个值会被记住
- 字典中的键必须不可变
字典中的键是不可变的,所以可以使用数字、字符串或者元组,但不能使用列表

字典的创建和删除

定义字典时,每个元素都包含两个部分----“键”和“值”,并且在“键”和“值”之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一个大括号中。

dictionary = {'key1':'value1','key2':'value2',.....,'key n':'value n'}

参数说明:

dictionary:				表示字典名称
key1,key2,...,key n:		表示元素的键,必须唯一,切不可变
value1,value2,...,value n:	表示元素的值,可以是任何数据类型。
# 创建空的字典
dict5 = dict()
print(dict5)  #{}
# 使用关键字参数来创建字典
dict6 = dict(spinach = 1.39, cabbage = 2.59)
print(dict6) # {'spinach': 1.39, 'cabbage': 2.59}

如果要删除宇典中的 key-value 对,则可使用 del 语句。例如如下代码:

# 使用del语句删除key-value对
scores = {'语文': 89, '数学': 93, 92: 5.7}
del scores['语文']
del scores['数学']
print(scores) # {92: 5.7}

间接修改键的key值方法

第一种(推荐):

dict={'a':1, 'b':2}
 
dict["c"] = dict.pop("a")

第二种方法:

dict={'a':1, 'b':2}
 
dict.update({'c':dict.pop("a")})

第三种方法:

dict={'a':1, 'b':2}
 
dict['c']=dict['a']
 
del dict['a']

python中获取字典的key列表和value列表

# 定义一个字典
dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1}
#通过list将字典中的keys和values转化为列表
keys = list(dic.keys())
values = list(dic.values())
# 结果输出
print("keys列表为:",end='')
print(keys)
print("values列表为:",end='')
print(values)

运行结果:
keys列表为:[‘剧情’, ‘犯罪’, ‘动作’, ‘爱情’, ‘喜剧’, ‘冒险’, ‘悬疑’, ‘惊悚’, ‘奇幻’]
values列表为:[11, 10, 8, 3, 2, 2, 2, 2, 1]

字典的扩展

dict()
dict()函数可将一个包含有双值子序列的序列转换为字典

在这里插入图片描述

get()
get()函数也可以获取字典中的value

在这里插入图片描述

setdefault()
setdefault()函数向字典中添加一个“键”和“值”,如果“键”已经存在字典中,则返回“键”的值。不对字典做任何操
作,如果“键”不存在,则向字典中添加一个“键”和“值”。

在这里插入图片描述

update()
update()将其他字典中的“键”和“值”添加到当前字典中

在这里插入图片描述

zip()
dictionary = dict(zip(list1,list2))

dictionary:表示字典名称
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。

在这里插入图片描述

popitem()
popitem()随机删除字典中的一个键值对,一般会删除最后面的键值对。
pop()
pop()根据键来删除键值对,它的返回值是删除的值(同get()类似)
clear()
clear()  清空
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页