序列之元组tuple

一、元组基本信息

 序列之元组tuple

二、元组的创建两种方式

1.基础方式:通过()来创建元组,()可以省略

比如:a = (10,20,30)  或 a=10,20,30

只有一个元素,必须加逗号

比如: a = (10,)  或  a = 10,

2.通过tuple()来创建元组

tuple(可迭代的对象)

比如:

a = tuple()   #创建空元组

a = tuple('abc') 

a = tuple([10,20,30])

a = tuple(range(4))

序列之元组tuple

三、元组的常用方法

1.元组的元素不能修改

2.元组的访问和列表一样,只不过返回的是元组

序列之元组tuple

3.元组的排序

序列之元组tuple

4.zip方法

序列之元组tuple

5.生成器推导式创建元组

序列之元组tuple

序列之元组tuple

序列之元组tuple

(二)字典

一、字典:“键值对”的无序可变序列。每个元素都是一个“键值对”,由键对象和值对象组成

健:任意的不可变数据,且不可重复。整数、浮点数、元组可作为健,列表、字典、集合可变对象不能做键。

值:任意的可变数据,可重复

二、字典的创建

1.通过{}来创建

比如:a = {"name":"zhangsan","age"=18,"job":"teacher"}

2.通过dict()来创建

a = dict(name="gaoqi",age=18,job=teacher)

a = dict([("name","gaoqi"),("age",18)])  #列表里面包元组

a = [("name","gaoqi"),("age",18)]  #列表包元组

a = {} #定义空字典

a = dict()

3.通过zip()来创建字典

比如:k = ['name','age','job']  #列表

v = ['zhangsan',18,'teacher']

c = dict(zip(k,v))

4.通过fromkeys创建值为空的字典

a = dict.fromkeys(['name','age','job'])  #列表

print(a)

{'name':None,'age':None,'job':None}

三、字典元素的访问

1.通过[键]获得值,键不存在,抛异常

比如:a['name']

2.通过get()方法获得值,推荐使用。键不存在,返回None,键不存在时也可以指定默认对象

比如:a.get('ddd','不存在')

3.列出所有的键值对

比如:a.items()

dict_items([('name','zhangsan'),('age',18),('job','teacher')])

4.列出所有的键,列出所有的值

a.keys()

dict_keys(['name','age','job'])

a.values()

dict_values(['zhangsan',18,'teacher'])

5.len():键值对的个数

6.检测一个键是否在字典中

a = {'name':'zhangsan','age':18,'job':'teacher'}

print('name' in a)

True

四、字典元素的修改和删除

1.新增键值对:如果键已经存在,则覆盖其值,否则新增

比如:a = {'name':'zhangsan','age':18,'job':'teacher'}

a['address'] = '中山门'

print(a)

{'name':'zhangsan','age':18,'job':'teacher','address':'中山门'}

a['age'] = 19

print(a)

{'name':'zhangsan','age':19,'job':'teacher','address':'中山门'}

2.update():将新字典中的所有键值对添加到旧字典,key相同,则覆盖

序列之元组tuple

3.字典中的删除

del():删除指定元素    比如:del(a['name'])

clear():清空整个字典   比如:a.clear() 

pop():删除指定元素,并返回值对象    比如:b = a.pop('name')   print(b) #zhangsan

4.popitem():随机删除,返回删除的键值对

比如:序列之元组tuple

 五、序列解包用于列表元组字典

序列解包:方便对多个变量赋值

序列之元组tuple

六、表格数据的存储--使用列表和字典存储

序列之元组tuple

七、字典的核心存储知识

序列之元组tuple 

字典通过将key值与左侧0-7对应来存储数据。

1.先将key用hash()来转为数字

2.用bin()将数字转为二进制

3.二进制数通过三位或者六位、八位等偏移来对应数字,确定数字后面没值则存储,有值继续偏移

4.当字典的存储,2/3已满时,则会扩容,扩容则偏移位数会有变化

八、字典底层取值

1.键通过hash()、bin()转为二进制,然后偏移比对,找到对应的取出键,该键值再转为二进制,相同,则表示找对了,不同继续偏移寻找

序列之元组tuple

序列之元组tuple 

九、集合

序列之元组tuple 

序列之元组tuple 

序列之元组tuple 

 

上一篇:python tuple基本用法


下一篇:容器 : 列表(list)、集合(set)、元组(tuple)