---恢复内容开始---
字典
键key >映射> 值value
例如
brand=['a', 'b', 'c', 'd']
slogan=['1', '2', '3', '4']
print('c对应的是', slogan[brand.index('c')])
创建字典
dict1 = ['a':1, 'b':2, 'c':3, 'd':4] //[键:值] 数组形式
dict2 = dict((('a', 1), ('b', 2), ('c', 3), ('d', 4))) //元组形式
dict3 = dict(a=1, b=2, c=3, d=4) //不能给值加引号,创建后会自动加。而且排序会有变化
使用字典
dict1['a'] 为1
传递值,改变值,创造项
dict1['a'] = '3'
dict1['e'] = '5'
dict4.fromkeys()
>>> dict4 = {}
>>> dict4.fromkeys((1,2,3)) //直接创建对应为None的字典
{1: None, 2: None, 3: None}
>>> dict4.fromkeys((1,2,3),'num') //全部值都修改
{1: 'num', 2: 'num', 3: 'num'}
>>> dict4.fromkeys((1,2,3),('one', 'two','three')) //无法批量修改
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
>>> dict4.fromkeys((1,3),'num') //无法对个别key修改,而是直接创建一个新的字典
{1: 'num', 3: 'num'}
dict4.keys() //键的元组
dict4.values() //值的元组
dict4.items() //对应的键和值元组
>>> dict4 = dict4.fromkeys(range(4),'赞')
>>> dict4
{0: '赞', 1: '赞', 2: '赞', 3: '赞'}
>>> for eachKey in dict4.keys():
print(eachKey)
0
1
2
3
对于其他没有定义的键,试图访问没定义的键
dict4.get(5) 为 None
dict4[5]出错
查找键 //在序列里查找的是值
4 in dict4 为 False
清空字典
dict4.clear()
对于a={‘a’} b=a,相当于内存是空,a和b只是这个内存地址的标签,如果让a={},则b还是{‘a’}。就需要用clear来清楚内存里的数据
可以用id(dict4)查看内存地址
同样dict5=dict4.copy()才是真正拷贝另一个字典
dict4.pop(2) //弹出2对应的值
dict4.popitem() //弹出一组键值,默认最后一个
dict4.setdefault(2,''two) //插入一个键值,在表中位置不定
b={'4':'佛'}
dict4.update(b) 将b的键对应的值修改