首页 > 其他 > 详细

Day05

时间:2018-07-06 20:06:55      阅读:163      评论:0      收藏:0      [点我收藏+]

一. 字典的简单介绍

  字典是{}括起来的键值对组成dict = {key1:value1,key2:value2,...}. 在dict中key是唯一的. 在dict中的key必须是不可变的. dict保存的数据不是按照我们添加进去的顺序保存的.

 

dic = {"one":1, "two":2, "three":3}
dic["four"] = 4  #把"four":4添加进字典
print(dic)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘four‘: 4}.  

dic = {["work","job"]:"long"}
print(dic)  #TypeError: unhashable type: ‘list‘  list是可变的不能作为key
 

 

二. 字典的增删改查和其他操作

1. 增加

 

dic = {"one":1, "two":2, "three":3}
dic["four"] = 4  #把"four":4添加进字典
print(dic)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘four‘: 4}.

dic = {"one":1, "two":2, "three":3}
dic["two"] = ""  #当key重复时,会更新value的值
print(dic)  #{‘one‘: 1, ‘two‘: ‘二‘, ‘three‘: 3}

dic = {"one":1, "two":2, "three":3}
dic.setdefault("five",5) #把key值为"five",value值为5.添加到dic字典里
print(dic)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘five‘: 5}
dic.setdefault("six",6)
print(dic)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘five‘: 5,‘six‘: 6}
dic.setdefault("six",7)  #已经有key值为"six",所以此次不存储
print(dic)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘five‘: 5, ‘six‘: 6}
 

 

2.删除

  pop(key)  通过key值删除,删除一个元素. 返回这个元素的value值

 

  del dic[key]  通过key值删除

  popitem() 随机删除,删除一个元素. 返回一个元组

  clear()  清空字典

 

dic = {"one":1, "two":2, "three":3}
ret = dic.pop("two")  #删除key值为"two"的元素
print(dic)  #{‘one‘: 1, ‘three‘: 3}
print(ret)  #2 key值为"two"的value为2 

dic = {"one":1, "two":2, "three":3}
del dic["one"]
print(dic)  3{two: 2, three: 3}

dic = {"one":1, "two":2, "three":3}
a = dic.popitem()
print(a)  #(‘three‘, 3)  返回的是一个元组
print(dic)  #{‘one‘: 1, ‘two‘: 2}

 

dic = {"one":1, "two":2, "three":3}
dic.clear()
print(dic)  #{}

 

 

 

 

3. 修改

   update()是更新的意思,可以在两个字典里,把一个字典的元素更新到另一个字典里.不同的key值,直接把元素添加到另一个字典中,若有相同的key值,则把value值覆盖.达到了修改的作用.

 

dic1 = {"one": 1, "two": 2, "three": 3, "four": ""}
dic2 = {"one": "", "four": 4, "five": 5, "two": ""}
dic3 = {"five": "", "six": "", "seven": 7}
dic1.update(dic2)
dic2.update(dic3)
dic3.update(dic2)
print(dic1)  #{‘one‘: ‘一‘, ‘two‘: ‘二‘, ‘three‘: 3, ‘four‘: 4, ‘five‘: 5}
print(dic2)  #{‘one‘: ‘一‘, ‘four‘: 4, ‘five‘: ‘五‘, ‘two‘: ‘二‘, ‘six‘: ‘六‘, ‘seven‘: 7}
print(dic3)  #{‘five‘: ‘五‘, ‘six‘: ‘六‘, ‘seven‘: 7, ‘one‘: ‘一‘, ‘four‘: 4, ‘two‘: ‘二‘}

 

 

4.查询

  可以直接查询dic[key],也可以用get(key)和setdefault(key,value).

dic1 = {"one": 1, "two": 2, "three": 3, "four": ""}
print(dic1["four"])  #
print(dic1.get("on"))  #None  找不到key值,返回None,也可以自己设置返回值dic1.get(key,返回值).
ret = dic1.setdefault("five",5)
print(dic1)  #{‘one‘: 1, ‘two‘: 2, ‘three‘: 3, ‘four‘: ‘四‘, ‘five‘: 5}
print(ret)  #5

 5. 其它相关操作

  keys()    打印出所有的key值

  values() 打印出所有的value值

  items()   打印出所有键值对.

dic = {"name":"tom","sex":"male","age":25,"job":"actor"}
print(dic.keys())  #dict_keys([‘name‘, ‘sex‘, ‘age‘, ‘job‘])  高仿列表,不是列表
for c in dic.keys():
    print(c)
# name
# sex
# age
# job
dic = {"name":"tom","sex":"male","age":25,"job":"actor"}
print(dic.values())  #dict_values([‘tom‘, ‘male‘, 25, ‘actor‘])
for c in dic.values():
    print(c)
# tom
# male
# 25
# actor
dic = {"name":"tom","sex":"male","age":25,"job":"actor"}
print(dic.items())  #dict_items([(‘name‘, ‘tom‘), (‘sex‘, ‘male‘), (‘age‘, 25), (‘job‘, ‘actor‘)])
for c in dic.items():
    print(c)
    # (‘name‘, ‘tom‘)
    # (‘sex‘, ‘male‘)
    # (‘age‘, 25)
    # (‘job‘, ‘actor‘)
    print(c[0])  #打印元组c的第一个元素
    print(c[1])  #打印元组c中的第二个元素

key,value = ("name", "tom")
print(key)  #name
print(value)  #tom
#key,value对应name,tom,我们key把上面for循环的c直接换成key,value
for key,value in dic.items():
    print(key,value)
# name tom
# sex male
# age 25
# job actor

 

 

三. 字典的嵌套

  字典的嵌套是通过找key值来打印出value值,先从最外层找起.

 

dic = {"time":8,"place":"park","people":{"name":"tom","sex":"male","age":20}
    ,"food":{"China":"rice","America":"steak","Britain":"tea"}}

print(dic["people"]["sex"])  #male
print(dic["food"]["Britain"])  #tea 

 

Day05

原文:https://www.cnblogs.com/huangqihui/p/9274756.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!