day3_python字典

八字真言:非空即真,非0即真

1、空

a=[]

b=''

c=()

d=0

e=none

2、定义一个字典

  字典是无序的,查询时会随机显示

字典是k-v形式的

复制代码
1 shenyang={
2           'name':'沈阳',
3           'age':18,
4           'sex':'不知道',
5           'addr':'天通苑',
6           'qq':19823423,
7           'email':'shenyang@qq.com'8 }   
复制代码

3、新增

  ① shenyang[‘女朋友’]=‘很漂亮’

  ② shenyang.setdefault('house','10套')

setdefault方式,如果key已存在,操作无效,若不存在,则新增,只能新增不能修改

4、修改

  shenyang['addr']='朝阳'

  该方式可新增可修改,存在修改内容,不存在就新增。

5、删除

  ①shenyang.pop('女朋友')   #指定key删除,删除的时候key不存在会报错

  

  ②del shenyang['age']  #用del来删除,删除的时候key不存在会报错

  

6、取值

  shenyang['key值']    #若key值不存在,则会报错

  

  shenyang.get('key值','默认值')  #若key值存在,显示key的值,若key指不存在,则显示设置的默认值

  

7、清空字典

  shenyang.clear()

  

 8、随机删除一个key

  shenyang.popitem()

  

9、将一个字典加入到另一个字典里

1 yaoyuan={
2    'chouyan':'1包',
3    'name':'姚远'
4 }

  shenyang.update(yaoyuan)

9、 将字典中所有的项以列表的形式返回,列表中的每一项都是以键值对的形式表现的。

  shenyang.items()

但这样输出并不是很好看,我们可以通过for循环的方式依次将键值对列出来

1 for k,v in shenyang.items():
2     print(k,v)

  

10、字典中取值

复制代码
 1 info=[
 2      {
 3       'xiaohei':
 4          {
 5         'money':10000,
 6          'cars':['Ben-z','audi','BMW'],
 7          'info': {
 8           'phone':186212312,
 9           'age':36
10                  }
11            }
12       },
13       {
14        'xiaohong':
15          {
16           'house': {
17             '朝阳':2,
18             '海淀':3,  
19             '昌平':5
20                    },
21            'lan':['ch','en','jp'],
22           }
23       }
24 ]    
复制代码

  查询xiaohong的house

  print(info[1]['xiaohong']['house'])   

  

  新增海淀+2

  info[1]['xiaohong']['house']['海淀']+=2

  

11、高效循环字典的方式

 

1 d={'a':1,'b':2}
2 print(d.items())
3 for k in d:
4     print(k,d.get(k))

 

   循环取值,效率更高

items():函数以列表返回可遍历的(键, 值) 元组数组

 语法:字典名.items()

 字典名.get(key值)    获取字典key值对应的value值的方法

posted @ 2018-08-31 22:41  伞落雨晴  阅读(132)  评论(0编辑  收藏  举报