@[枭]
Python第四课
今天讲解了Python的
元组
字典
元组
①性质
元组是有序不可变的,也就是只支持查,不支持增删改
元组是放在()中的
元组访问速度比列表更快
元组支持切片操作来访问元素
②创建删除
在创建元组时,字符后面的逗号不能扔
e.g.
>>>a=(3)
>>>a
3 #这个不是元组
>>>a=(3,) #有逗号时也可以省略括号
>>>a
(3,) #这个是元组
删除元组时,只能通过del删除整个元组对象,不能删除元素
③转换
使用到的函数为tuple()
换句话说,list()融化元组,tuple()冻结列表
④序列解包
可以通过序列解包操作同时进行赋值
e.g.
>>>x,y,z=1,2,3 #这里是把右边三个元素分别赋给左边
⑤生成器表达式
生成器中的元素智能使用一次且顺序访问
生成器返回的是生成器对象,需要进行转换
可以使用内置函数next或__next__进行挨个遍历
e.g.
>>>g=(i for i in range(10))
>>>g
<报错>
>>>tuple(g)
(0,1,2,3,4,5,6,7,8,9)
>>>tuple(g)
()
>>>g=(i for i in range(10))
>>>g.__next__()
0
>>>next(g)
1
字典
①性质
字典是无序可变的,在创造字典时其中的元素可能不会按照原有顺序进行排序
字典是放在{}中的
字典中元素遵循键值对,及键:值,相邻元素由逗号隔开
键是不可变数据且不允许重复,值是可变数据且允许重复
②字典创建删除,元素添加修改
创建字典时可以使用dict()函数通过已有数据创建字典
e.g.
>>>d=dict(name='Dong',age=37)
>>>d
{'name':'Dong','age':37}
删除字典时使用del函数进行删除
元素的添加修改如下例所示:
>>>d={'name':'tom','age':37}
>>>d['address']=ABC #添加
>>>d
{'name':'tom','age':37,'address':ABC}
>>>d['age']='ABC' #修改
{'name':'ABC','age':37,'address':'ABC'}
>>>del d['age'] #删除
>>>d
{'name':'ABC','address':'ABC'}
>>>d.clear() #清空字典,保留字典
>>>d
{}
>>>d.pop['name'] #返回键对应的值,然后删除键与值
ABC
③字典元素读取
要想访问字典中键对应的值,用法是
字典名称[键名称]
注意这里是方括号
当字典中没有这个键时,会发生报错
要想解决字典中没有键就报错问题,可以使用get()函数,用法如下:
字典名称.get(键名称)
注意这里是圆括号
也可以使用该方法进行键不存在时的返回值指定
e.g.
>>>print(d.get('address','ABCDE'))
ABCDE
接下来介绍一下返回键和返回值的函数
字典名.items()可以返回字典中的键:值对
字典名.keys()可以返回字典中的键
字典名.values()可以返回字典中的值
e.g.
>>>d={'name':'ABC','sex':'DEF'}
>>>d.keys()
dict_keys(['name','sex'])
>>>d.values()
dict_values(['ABC','DEF'])
>>>d.items()
dict_items([('name','ABC'),('sex','DEF')])