字典
**字典是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