python Day-5

字典dic

数据类型划分:1可变 2不可变

不可变: 元祖tuple,布尔值bool,数字int,字符串str。(对str操作生成的是新的str----可哈希

可变: 列表,字典,集合set。(里边的元素可变 整体不可变)----不可哈希

 

Dictkey必须是不可变数据类型,可哈希。Value:任意数据类型。

二分法查找很快,dictkey是这么找出来的,所以比list的要快。

 

Dict 优点:

二分法查找查询

2 储存大量关系型数据

特点:无序的(3.53.5之前的版本)没索引,要用键值对查找。

字典要是内容多的话就分层写,清晰。

 

dic1 = {'age':18,'name':'jin','sex':'male'}

dic1[‘key’] = value 想添加的键值对,没有键值对,就添加。有这个key的话,就覆盖原来的value 有键,就覆盖。

1 dic1 = {'age':18,'name':'jin','sex':'male'}
添加high这个键值对
2 dic1['high'] = 185
修改年龄 3 dic1['age'] = 16 4 print(dic1)

2

有键值对,不做任何改变,没有才添加。

1 dic1.setdefault(‘key’)value 没写,就输出none。
2 dic1.setdefault(‘key’,value)没有才添加。
1 dic1 = {'age':18,'name':'jin','sex':'male'}
添加weight这个键值对 value的值是none
2 dic1.setdefault('weight')
添加weight这个键值对 value的值是150
3 dic1.setdefault('weight',150)
添加name这个键值对 value的值是二哥
4 dic1.setdefault('name','二哥') 5 print(dic1)

 

1

1 Dic1.pop(‘key’) 有返回值,按键去删除。
2 Dic1.pop(‘key’,提示) 没有返回提示的内容,不设置报错。
3 一定要注意 ,尤其写多代码的时候。
1 dic = {'age':18,'name':'jin','sex':'male'}
删除age这个键值对
2 print(dic.pop('age'))
3 print(dic)

2

Dic1.popitem() 随机删除,有返回值,为元祖,删除的key值。
1 dic = {'age':18,'name':'jin','sex':'male'}
随机删除键值对
2 print(dic.popitem()) 3 print(dic)

3

1 Del dic[‘key’]删除指定键值对内容,删除没有的报错。
1 dic = {'age':18,'name':'jin','sex':'male'}
删除name这个键值对
2 del dic['name'] 3 print(dic)
删除字典会报错
4 del dic 5 print(dic)

4

1 Dic1.clear()清空字典.

 

让新的value替换原来老的value
1
dic = {'age':18,'name':'jin','sex':'male'} 2 dic['age'] = 16 3 print(dic)
1 Dic1[‘key’] = value
2 Dic = 字典
3 Dic2 = 字典2
4 Dic2.update(dic)把dic的内容更新到dic2中,有的覆盖,没有的更新。
1 dic = {'age':18,'name':'jin','sex':'male'}
2 dic2 = {'name':'alex','weight':75}
3 dic2.update(dic)
4 print(dic2)

 

1 Dic1.keys()列表 键
2 Dic1.values()列表 值
3 Dic1.items()列表 元祖包含的键值对
1 dic = {'age':18,'name':'jin','sex':'male'}
2 print(dic.keys(),dic.values(),dic.items())
结果是:
dict_keys(['name', 'age', 'sex'])
dict_values(['jin', 18, 'male'])
dict_items([('name', 'jin'), ('age', 18), ('sex', 'male')])
1 For i in 字典:
2 得出的是key。
3 For i in 字典.keys():
4 得出的是key。
5 For i in 字典.values():
6 得出的是value。
1 For i in dic.items():
2 Print(i)
3 弄出一堆元祖。
4 For k,v in dic.items():
5 Print(k,v)
6 弄出对应关系,一组一组的,没有括号,没有逗号。

1 dic = {'age':18,'name':'jin','sex':'male'}
2 for i in dic.items():
3     print(i)
4 for k,v in dic.items():
5     print(k,v)

结果是

1 ('age', 18)
2 ('sex', 'male')
3 ('name', 'jin')
4 age 18
5 sex male
6 name jin
1 Dic[key] = value 没有索要key值的报错。
1 获得内容首选get 不会报错。
2 Dic.get(key) 有的返回value 没有默认返回none。
3 Dic.get(key,提示)没有返回提示内容。

 

整理:

 

posted @ 2017-12-20 15:21  大量子  阅读(153)  评论(0编辑  收藏  举报