**字典是python中唯一的映射类型。
1、字典创建方式:1)" {}" 直接创建 2)dict()函数创建 3)fromkeys()函数创建,
1)创建字典时,key不加引号,否则会报错。
2)dict()函数
dict() -> new empty dictionary | dict(mapping) -> new dictionary initialized from a mapping object's | (key, value) pairs | dict(iterable) -> new dictionary initialized as if via: | d = {} | for k, v in iterable: | d[k] = v | dict(**kwargs) -> new dictionary initialized with the name=value pairs | in the keyword argument list. For example: dict(one=1, two=2)
注意dict()函数与元组、列表、map()、zip()等配合使用的情况。
3)fromkeys()函数
fromkeys(iterable, value=None, /) from builtins.type | Returns a new dict with keys from iterable and values equal to value.
此函数第一个参数是可得带对象,但是value值只有一个,也就是说此方法创建的字典的value都相同。
2、字典存储方式为key-->value,所以索引和列表类似,但是字典存储是无序的,索引时下标必须是key,而不像列表那样默认的是0,1,2。
3、可以通过索引方式向字典中添加、修改value值。
4、当索引的key超出字典中原有的key值时,会自动创建相应的key和value。
5、常见的内置方法:
key():取得所有的keys
values():取得所有的values
get():get()取得value值,当传入的key值不存在时,添加相应的key并默认相应的value值为None。
pop()、popitem():字典不存在顺序,所以pop()、popitem()都是随机取的。
6、setdefault()和update()
setdefault()和get()的对比与差别:
语法
setdefault()方法语法:
dict.setdefault(key, default=None)
参数
- key -- 查找的键值。
- default -- 键不存在时,设置的默认键值。
返回值
如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
get()方法语法:
dict.get(key, default=None)
参数
- key -- 字典中要查找的键。
- default -- 如果指定键的值不存在时,返回该默认值值。
返回值
返回指定键的值,如果值不在字典中返回默认值 None。
dict1 {1: 'a', 2: 's', 3: 'c'} >>> dict1 = {1:'a',2:'s',3:'c'} >>> dict1.get(4,'four') 'four' >>> dict1 {1: 'a', 2: 's', 3: 'c'} >>> dict1.setdefault(3,'q') 'c' >>> dict1 {1: 'a', 2: 's', 3: 'c'}
7、资格操作符 in 和 not in 在字典中。
要判断一个键(判断值是否存在,通过判断其对应的键是否存在)是否存在于字典中,通过 ‘’key in dic‘’即可,使用 ''key in dict.keys()''的方式也可以。
dict1={1: '好麻烦', 2: '好开心', '小乌龟': '456', '小甲鱼': '123'} >>> '小甲鱼' in dict1 True >>> '小甲鱼' in dict1.keys() True >>> '小乌龟' in dict1.keys() True