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

python学习之数据类型—字典dict

时间:2018-06-05 21:11:30      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:ret   自定义   地址   dict   rom   python   查询   ems   改变   

字典:dict

1、字典是python中唯一的一个映射类型,以{}括起来的价值对组成;

2、字典中key是唯一的,在保存的时候,根据key来计算出一个内存地址,如何将value放在这个内存中,这种称为hash算法;

3、字典中的key必须是可hash的即(不可变的数据类型str,int,tuple,bool)

4、字典中的value可以存任意数据类型

5、字典也是无序的,故没有通过索引找值一说,只能通过key找value

语法:

dict = {key:value,……}

增:

1、直接添加

dic ["BeiJing"] = "政治中心"  

注:如果字典中无”BeiJing“这个key,则新增,如有则改变对应的value值为新值

2、setdefault(key,value)方法添加,value可不写,默认为none

dic .setdefault("china")   ---> {"china":None}

dic .setdefault("china","中国")   --->{"china":None},一旦通过setdefault方法添加了key,之后就无法改变改key对应的值

删:

1、指定key值来删除 

ret = dict.pop(key)    有返回值,返回的是删除的值,同list 一样,str与tuple是不可变数据类型故无pop方法

del  dict    删除字典对象

del  dict[key]  按key来删除,无返回值,为None 

2、随机删除dict.popitem()

ret = dict.popitem()    #随机删除字典中的元素,返回一个包含键值对的tuple  (key,value)

解构:

k,v = dict.popitem()

print(k,v)

3、清空字典

dict.clear()

改:

1、直接通过key赋予新值

dict[key] = new_value

2、两个字典合并成一个 dict_to.update(dict_from)

dict3 = {"name": "sun", "age": 30}
dict4 = {"name": "xiu", "age": 30, "hobby": "play_tv"}
dict3.update(dict4) # 将dict4更新到dict3中,如果dict3中key存在,对应value值将覆盖,如果不存在,则新增

查:

1、通过key查value

dict[key] 如key不存在,则报错

dict.get(key,自定义返回值)  如key不存在,默认返回None,也可自定义

2、查询字典中所有的keys              dict_keys([‘name‘, ‘age‘, ‘hobby‘])

for i in dict.keys:

  print(i)

3、查询字典中所有的values          dict_values([‘xiu‘, 30, ‘play_tv‘])

for i in dict.values:

  print(i)

4、查询字典中所有的元素items    dict_items([(‘name‘, ‘xiu‘), (‘age‘, 30), (‘hobby‘, ‘play_tv‘)])

for i in dict.items:

  print(i)   #i 是一个元组

python学习之数据类型—字典dict

标签:ret   自定义   地址   dict   rom   python   查询   ems   改变   

原文地址:https://www.cnblogs.com/sunxiuwen/p/9141660.html

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