Python基础-day05

数据类型划分(按可变与不可变划分):可变数据类型,不可变数据类型。

不可变数据类型:元组、bool、int、str

所谓的不可变,指的是本尊不能更改。

不可变数据类型可哈希。hash

 

可变数据类型:list、dict、set

不可哈希。

 

字典 dict

字典的键必须是不可变数据类型,可哈希

字典的值:任意数据类型。

 

优点:二分查找法去查询。

      存储大量的关系型数据。

特点:无序。(可能因python版本不同而有所差异)

无序意味着没有索引(index),只能通过key来找。

 

字典

原字典中没有这个键,才叫 增。

 

字典

原字典中有这个键,此时叫 改。

dic.update()

 

使用setdefault()方法

如果字典中包含有给定键,则返回该键对应的值。

 

如果字典中没有包含有给定键,则返回为该键设置的值。

我们没有明确指定,所以自动赋值None,因此返回None,job的值也是None。

 

我们明确为job赋值了,所以返回这个值,同时字典中新增了job。 

 

字典

按键去删除

dic.pop('key')  # 当键key存在时,pop()有返回值,返回的是key对应的value

dic.pop('key', None)  # 当键key不存在时,pop()会报错。但我们可以设置返回值,防止报错

dic.pop('key', '没有这个键')

 

dic.popitem()   # 在python3中是删除最后一个key: value,并返回这对key: value

popitem()不能带参数。

 

del dic

del dic['name']

dic.clear()  # 清空

 

字典

dic.keys()

dic.values()

dic.items()

dict_keys(['name', 'age', 'job', 'sale'])         # 键,放在列表中
dict_values(['yang', 1, 'engineer', 100])     # 值,放在列表中
dict_items([('name', 'yang'), ('age', 1), ('job', 'engineer'), ('sale', 100)])  # 键值对组成的元祖,所有元祖放在列表中

 

a, b = 1, 2

print(a, b)

 

a, b = b, a

交叉值

 

v1 = dic['name']

v1 = dic['name1']  # 没有这个键时会报错

v1 = dic.get('name1', '没有这个键时的返回值')  # 不会报错

posted @ 2019-10-29 21:48  道霖  阅读(128)  评论(0)    收藏  举报