python数据类型-元祖和字典类型、hash函数
程序员文章站
2024-02-29 21:52:46
...
一、元组的定义和特性
定义:与列表类似,只不过[]改成()
特性:
1.可存放多个值
2.不可变
3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序
解释为什么要有不可变数据类型元组出现?
元组的创建与常用操作
创建
ages = (11, 22, 33, 44, 55)
#或
ages = tuple((11, 22, 33, 44, 55))
常用操作
#索引
>>> ages = (11, 22, 33, 44, 55)
>>> ages[0]
11
>>> ages[3]
44
>>> ages[-1]
55
#切片:同list
#循环
>>> for age in ages:
print(age)
11
22
33
44
55
#长度
>>> len(ages)
5
#包含
>>> 11 in ages
True
>>> 66 in ages
False
>>> 11 not in ages
False
元组的特性详解
1.可存放多个值
如果元组中只有一个值
t = (1,)
t = (1) #<==>t = 1
元组中不仅可以存放数字、字符串,还可以存放更加复杂的数据类型
2.不可变
元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
二、hash函数
可以被hash的内容
刚刚我们已经说过,hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定。
可以想见如果“王老五”变成“王老六”了,计算的结果就会发生改变。
因此我们要说,坏消息是可变的数据类型是不可以被hash的,好消息是如果一个值可以hash那么说明这是一个不可变得数据类型。
不会用hash没有关系,这里你先知道什么是hash,接下来,我们要学习一种很厉害的数据类型,它就是用这种方式,让我们能够从大量数据中直接快速找到我们想要的数据。
三、数据类型-字典
字典是Python语言中唯一的映射类型。
定义:{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
创建:
方便查找:
a.sort排序:
增加:
修改:
查找:
删除:
pop:删除 (删除最后一个,并返回) popitem随机删
python 中range() 函数可创建一个整数列表,一般用在 for 循环中。
多级字典嵌套:
修改:
info.:
info.update(dic2):表示dic2里有对应info里的值就覆盖,没有对应info里的值就创建
info.setdefault(k,new k)中k如果存在,对info 没影响。k如果不存在,对info进行增加
for循环:
字典的常见操作
键、值、键值对
1、dic.keys() 返回一个包含字典所有KEY的列表;
2、dic.values() 返回一个包含字典所有value的列表;
3、dic.items() 返回一个包含所有(键,值)元祖的列表;
4、dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
新增
1、dic['new_key'] = 'new_value';
2、dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值;_
删除
1、dic.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
2、dic.clear() 删除字典中的所有项或元素;
修改
1、dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中
查看
1、dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;
2、dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
循环
1、for k in dic.keys()
2、for k,v in dic.items()
3、for k in dic
长度
1、len(dic)
推荐阅读
-
python数据类型-元祖和字典类型、hash函数
-
python基础知识(安装、数据类型、list列表、字典、函数、类、继承、文件操作)
-
python基础知识(安装、数据类型、list列表、字典、函数、类、继承、文件操作)
-
python学习--数据类型和内置函数
-
Python更改数据类型—astype()方法和to_numeric()函数
-
06_Python的数据类型3元组,集合和字典_Python编程之路
-
学习python的第九天(内置算法:列表数据类型,元祖数据类型,字典数据类型)
-
python学习--数据类型和内置函数
-
06_Python的数据类型3元组,集合和字典_Python编程之路
-
学习python的第九天(内置算法:列表数据类型,元祖数据类型,字典数据类型)