码迷,mamicode.com
首页 > 编程语言 > 详细

Python:基础数据类型--字典

时间:2018-05-13 19:57:37      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:数据类型   基础   大小   覆盖   span   默认   value   ror   int   

基础数据类型--字典

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

键必须是唯一的,但值则不必。

d = {key1 : value1, key2 : value2 }

 

字典:增

dic = {name: 老男孩,age: 10000, sex: }
dic[hobby] = old_girl                  # 有key则修改,无则增加
dic[name] = alex
print(dic)

{name: alex, age: 10000, sex: , hobby: old_girl}

 

setdefault()  有则不修改,无则增加。

dic = {name: 老男孩,age: 10000,sex: }
dic.setdefault(sex‘,‘女‘)                 # 有key则不修改,无则增加print(dic)

{name: 老男孩, age: 10000, sex: }

 

字典:删

pop()  按照key删除元素,并返回删除的元素。

dic = {name: 老男孩,age: 10000,sex: }
print(dic.pop(name))            # 删除key为name的元素,并将其返回。

dic.pop(name1,None) # 删除没有的key,未避免报错,可以设置默认返回值。 print(dic) 老男孩 {age: 10000, sex: }

 

popitem()   在python3.6之前为随机删除字典中的一个元素,python3.6则是删除字典中最后一个元素。

dic = {name: 老男孩,age: 10000,sex: }
print(dic.popitem())
print(dic)

(sex, )
{name: 老男孩, age: 10000}

 

clear()  清空字典。

dic = {name: 老男孩,age: 10000,sex: }
dic.clear()
print(dic)

{}

 

del  1,删除整个字典。2,按照键去删除键值对。

dic = {name: 老男孩,age: 10000,sex: }
del dic[name]
print(dic)
del dic                  # 删除整个字典 print(dic) {age: 10000, sex: } NameError: name ‘dic‘ is not defined

 

字典:改

dic = {name: 老男孩,age: 10000,sex: }
dic[name] = alex                  # 无责增加,有责修改。
print(dic)

{name: alex, age: 10000, sex: }

 

dic = {name: 老男孩,age: 10000,sex: }
dic = {"name": "jin", "age": 18,"sex": "male"}
dic2 = {"name": "alex", "weight": 75}
dic2.update(dic)             # 将dic里面的键值对覆盖并更新到dic2中,dic不变 。
print(dic)                 # {‘name‘: ‘jin‘, ‘age‘: 18, ‘sex‘: ‘male‘}
print(dic2)                # {‘name‘: ‘jin‘, ‘weight‘: 75, ‘age‘: 18, ‘sex‘: ‘male‘}

{name: jin, age: 18, sex: male}
{name: jin, weight: 75, age: 18, sex: male}

 

列表:查

get()  查找时如果没有此key 不会报错。

dic = {"name": "jin", "age": 18,"sex": "male"}          
print(dic[‘name1‘])          
print(dic.get(name1,没有此键...)) #设置查询key不存在时,的返回值

jin
没有此键...

 

keys()  返回字典中的所有key

dic = {"name": "jin", "age": 18,"sex": "male"}
for i in dic.keys():
    print(i)

name
age
sex

 

values()  返回字典中的所有值

dic = {"name": "jin", "age": 18,"sex": "male"}
print(dic.values())

dict_values([jin, 18, male])

 

items()    返回可遍历的键, 值对

dic = {"name": "jin", "age": 18,"sex": "male"}
for k, v in dic.items():
    print(k, v)

name jin
age 18
sex male

 

坑: 再循环一个字典时,不要改变字典的大小,这样会影响结果。

dic = {k1: v1, k2: v2, k3:v3, name:alex}
for k in dic:
    if k in k:
        dic.pop(k)
        
RuntimeError: dictionary changed size during iteration

 

Python:基础数据类型--字典

标签:数据类型   基础   大小   覆盖   span   默认   value   ror   int   

原文地址:https://www.cnblogs.com/bailo/p/9032976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!