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

Python基础之字典

时间:2019-12-13 12:13:11      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:根据   span   color   class   ems   def   基础   style   pytho   

1.创建字典

  字典中每个值都有一个唯一的key,key需要被哈希,可以是可以是数字、字符串、元组;用大括号‘{}‘将内容扩起来,且是无序的。

1 info = {name:fox,age:16,work:it}
2 print(info)
3 结果:
4 {age: 16, work: it, name: fox}

2.增

  通过需要增加的key和值,直接赋值给字典,即可添加元素。

1 info = {name:fox,age:16,work:it}
2 info[sex] = M
3 print(info)
4 结果:
5 {name: fox, age: 16, work: it, sex: M}

3.删

1)info.pop()删除指定key的键值对,如果所删除的key不存在则报错。

1 info = {name:fox,age:16,work:it}
2 info.pop(work)
3 print(info)
4 结果:
5 {name: fox, age: 16}

2)info.clear()清除所有键值对

1 info = {name:fox,age:16,work:it}
2 info.clear()
3 print(info)
4 结果:
5 {}

4.改

1)同增类似,直接通过key的修改其对应的值,因为是无序无法查找其位置。

1 info = {name:fox,age:16,work:it}
2 info[work] = ui
3 print(info)
4 结果:
5 {work: ui, age: 16, name: fox}

2)info.update()当另一个字典中有当前字典的key,则修改,像‘age‘中的16改成18;如果另一个字典中再当前字典中没有的key,则将键值对添加到当前字典,像‘sex‘:‘M‘。

1 info = {name:fox,age:16,work:it}
2 info1 = {age:18,sex:M}
3 info.update(info1)
4 print(info)
5 结果:
6 {work: it, age: 18, name: fox, sex: M}

5.查

1)info.get()根据指定key查找对应的值

1 info = {name:fox,age:16,work:it}
2 print(info.get(age))
3 结果:
4 16

2)info.setdefault()如果key存在,则读出该键对应的值;如果key不存在,则以该值作为字典的key,None作为值添加到字典中。

 1 info = {name:fox,age:16,work:it}
 2 info.setdefault(work)
 3 print(info.setdefault(work))
 4 print(info)
 5 info.setdefault(ff)
 6 print(info.setdefault(ff))
 7 print(info)
 8 结果:
 9 it
10 {work: it, age: 16, name: fox}
11 None
12 {work: it, age: 16, name: fox, ff: None}

6.遍历字典key和值

1)info.keys()遍历出字典info中的key

1 info = {name:fox,age:16,work:it}
2 print(info.keys())
3 结果:
4 dict_keys([age, work, name])

2)info.values()遍历出字典info中的值

1 info = {name:fox,age:16,work:it}
2 print(info.values())
3 结果:
4 dict_values([it, 16, fox])

3)info.item()通过for方法可将key和值都遍历出来

1 info = {name:fox,age:16,work:it}
2 for key,value in info.items():
3     print(key,:,value)
4 结果:
5 age : 16
6 name : fox
7 work : it

7.OrderedDict类

  OrderedDict类可以将字典变得有序,正常情况下字典是无序的,一个普通的字典,如果键值对一样,即使顺序不一样,那么两个字典是相等的。

1 info = {name:fox,age:16,work:it}
2 info1 = {age:16,work:it,name:fox}
3 print(info == info1)
4 结果:
5 True

  使用OrderedDict()方法后,键值对一样,但是顺序不同时,不相等;OrderedDict()方法是collections模块的方法,不是内置方法,故需要导入,即(from collections import OrderedDict)指导入collections模块的OrderedDict类。

1 from collections import OrderedDict
2 info = {name:fox,age:16,work:it}
3 info1 = {age:16,work:it,name:fox}
4 info1 = OrderedDict()
5 print(info == info1)
6 结果:
7 False

Python基础之字典

标签:根据   span   color   class   ems   def   基础   style   pytho   

原文地址:https://www.cnblogs.com/foxshu/p/12033924.html

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