字典在py里面是无序集合对象类型 有独立的唯一的键 利用相应的键取值
字典是判断有没有这个键 而不是值
需要输出列表 在前面增加一个list
字典转换成为列表 取所有的值和键
字典的比较 是键而不是值
zip方式 将键和值相互颠倒过来
字典在py里面是无序集合对象类型 有独立的唯一的键 利用相应的键取值
字典是判断有没有这个键 而不是值
需要输出列表 在前面增加一个list
字典转换成为列表 取所有的值和键
字典的比较 是键而不是值
zip方式 将键和值相互颠倒过来
字典的键(key)是唯一的
读取字典用字典名+偏移量
创建字典的方式
按键赋值法
变量赋值法
元组列表法
字典的比较
min()
max()
zip()
任务12、Python字典
Python字典可存储任意类型对象,如字符串、数字、元组…… 优点:取值方便,速度快
1,创建字典
字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。
2,访问字典中的值
print(d['key']) 如果写了不存在的值会报错
print(d.get('key')) 如果写了不存在的值,返回None
print(d.get('key','not find ')) 如果找不到存在的值,返回 “not find”
print(d.keys()) #获取所有的key 值 print(d.values()) #获取所有的value 值 if 'key' in d: #判断key是否存在 print('key') for k,v in d.items(): #遍历字典 print(k,v)
无须转换成list 格式,保留了字典原有的特性 for k in dict: print(k,dict[k]) print(k,dict.get(k)) 取值速度快,性能好
3,修改字典
d['key'] = value key 存在即修改,key不存在即新增 d.setdefault('key',value) 只能新增 4,删除字典元素
d.pop('key') 必须要传值,因为字典是无序的 d.popitem() 随机删除一个 del d['key'] d.clear() 清空字典
5,其他 print(dict.items()) 输出一个list格式(非真正意义上的list) print(list(dict.items())) 把字典的key 和 value 转成一个多维list
输出结果:
len
(
dict
):计算字典元素个数,即键的总数。
str
(
dict
):输出字典可打印的字符串。
type
(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
6,字典的键必须初始化
如果视图访问一个字典中不存在的键,会导致一个keyerror。出行keyerror时,程序会由于运行时错误崩溃
用“in ”检查成员关系
if 'bananas' in fruits: fruits['bananas'] += 1 else : fruits['bananas'] = 1 查看“bananas”键是否在字典中,由于现在没有这个键,所以将它的值初始化为1,这样就能杜绝出行keyerror的可能性 用“not in ”替换 “in”
if 'bananas' not in fruits: fruits['bananas'] += 0 #初始化,如果需要 fruits['bananas'] += 1 使用setdefault 方法
for letter in word: if letter in vowels: found.setdefault(letter,0) found[letter] += 1 setdefault 可以保证把一个不存在的键初始化为一个指定的默认值,或者什么也不做(也就是说,已有的键的关联值将保持不变)
dict.get('b',0) 字典里 没有b键时,返回0
list(dict.values()) 显示所有键的值
list(dict.items()) 显示键及对应的值
字典增加一个键,在列表里的位置是随机的吗?
Python的类型与运算-字典
• 字典的简介
• 字典的操作
• 字典的方法
字典在Python里是无序集合对象类型。
字典的值都有独立的唯一的键(Key),用相应的键来取值。
Python字典主要特性如下:
• 通过键而不是偏移量来读取
• 任意对象的无序组合
• 可变长,异构,任意嵌套
• 属于可映射类型
• 对象引用表
字典用法注意事项:
• 序列运算无效 - 串联,分片不能使用
• 对新索引(键)赋值会添加项
• 键不一定是字符串 - 只要是不可变的对象(除了列表和字典)
键(除了列表和元祖)
Dict={'a':97,'A':65}
要读取时用Dict['a']
{}作为输出格式
len()
'a' in Dict判断的是有没有这个键
Dict.keys()可以列出所有的键
在2位列表
在3为dict_keys(['a','A'])
用list(Dict.keys())结果为列表
Dict['brunch']=98会增加或者['a','d']
del
list(Dict.balues())可以取值
list(Dict.items())
形成元祖[('a',97),('A',65)]
Dict.get('b')可以判断有没有
Dict.get('b',0)0是自己设的没有时返回0
有时返回键对应的值
可以这样创建dict(['name','Abby'),('age',24)])
或者这样初始化所有key的值
dict.fromkeys(['eggs','bake'],0)这里的dict类似于函数
max时比较键的字母大小
zip(q.values(),q.keys())不会改变原来
将键与值颠倒
这时再用max就行
字典:分片不能使用,序列运算无效
字符串的比较:zip(dict.values(),dict.key())
字典:用{}表示,例如dict={'b':98,'B':66}
key:value
dict[key]=value用于赋值
del dict[key]用于删除
dict.keys()可查看所有key,同理value
list(dict.keys())可将所有的key转化为表,同理value
max/min(dict)用于比较键的大小
用max/min(zip(dict.values(),dict.keys()))用于比较值的大小
字典
一、字典的简介:
字典:无序集合对象类型。用{}表示:
Dict={'a':97,'A':65} #a为键
字典的主要特性:通过键而不是偏移量来读取、任意对象的无序组合、可变长,异构,任意嵌套、属于可映射类型、对象引用表。
Dict.keys()或list(Dict.key() #获取键值
Dict['a']=98 #更改键对应的值
Dict['c']=99 #添加键c并赋值
del Dict['a'] #删除键为a的元素
list(Dict.values()) #获取字典中的所有值
list(Dict.items()) #把所有的元素改成元组展现出来
Dict.get('d',0) #查看字典中有没有键为'd'的元素,没有就返回我们给定的0,有则返回键的值。
二、创建字典的方法:
三、字典的比较:
默认通过键比较,而不是通过值比较。
用zip方式将值与键颠倒再比较或排序。
字典(键对值){}
无序:索引无效
len(dict)
只能查找对应键
操作:
原处修改:
dict['key'] = num
加入:dict['new_key'] = num
删除:del dict['key']
查看:list(dict.keys()) 键list
list(dict.values()) 值lis
list(dict.items())
元组方式 [(key,value),(key,value)]
方法:
dict.get(key,'no') 查看有没有这个键,没有就no