Python Dictionary(字典)
2021-09-10 14:54:31 15 举报
AI智能生成
Python字典(Dictionary)是一种可变的、无序的、键值对集合。字典中的每个元素都是一个键值对,其中键是唯一的,而值可以是任意类型的数据。字典的键必须是唯一的,但值则不必。字典的创建使用大括号{},键值对之间用逗号分隔,键和值之间用冒号分隔。例如:{'name': 'John', 'age': 30, 'city': 'New York'}。字典的主要操作包括添加、删除、修改和查找键值对。此外,字典还支持一些内置的方法,如len()、clear()、get()等。字典在Python编程中非常常用,可以用于存储和操作大量的数据。
作者其他创作
大纲/内容
提问
为什么字典的键要为不可变类型?(TODO)
字典的底层结构是什么?(TODO)
字典底层的hashtable是如何解决hash冲突的?(TODO)
为什么新字典设置为8个插槽?(TODO)
创建dict的方式
#创建空字典
#直接赋值创建
#通过关键字dict和关键字参数创建
#通过二元组列表创建
#dict与zip()组合使用
#通过字典推导创建
通过dict.formkeys()创建,通常用来初始化字典,设置value的默认值
dict常用操作
d[key]
#返回d中以key为键的项。如果映射不存在key则会引发KeyError
#返回d中以key为键的项。如果映射不存在key则会引发KeyError
d[key] = value
#将d[key]设为value
#将d[key]设为value
del d[key]
#将d[key]从d中移除。如果映射中不存在key则会引发KeyError
#将d[key]从d中移除。如果映射中不存在key则会引发KeyError
key in d
#如果key存在键则返回True,否则返回False
#如果key存在键则返回True,否则返回False
key not int d
#等价于not key in d
#等价于not key in d
fromkeys(seq[, value])
#创建一个字典,并制定键,value为设置的默认值
#创建一个字典,并制定键,value为设置的默认值
copy.deepcopy(d)
#用copy模块对字典进行深拷贝
#用copy模块对字典进行深拷贝
dict方法
len(d)
#返回字典d的项数
#返回字典d的项数
iter(d)
iter(d)
#返回对象d的迭代器
#返回对象d的迭代器
clear()
#移除字典中的所有元素
#移除字典中的所有元素
copy()
#返回原字典的浅拷贝
#返回原字典的浅拷贝
get(key[, default])
#如果key存在于字典中则返回key的值,否则返回default。如果default未给出则默认为None,因而此方法绝不会引起KeyError
#如果key存在于字典中则返回key的值,否则返回default。如果default未给出则默认为None,因而此方法绝不会引起KeyError
has_key(key)
#查看key是否在字典中,与key in d类似
#查看key是否在字典中,与key in d类似
items()
#将列表以二元组列表的形式返回,key和value组成元祖。
#将列表以二元组列表的形式返回,key和value组成元祖。
iteritems()
#与items()类似,不过是返回一个迭代器
#与items()类似,不过是返回一个迭代器
iterkeys()
#将所有的键以迭代器的形式返回
#将所有的键以迭代器的形式返回
itervalues()
#将所有的值以迭代器的形式返回
#将所有的值以迭代器的形式返回
keys()
#返回所有key列表,返回值是一个列表
#返回所有key列表,返回值是一个列表
pop(key[, default])
#如果key存在于字典中则将其移除并返回值,否则返回default。如果default未给出且key不存在于字典中,则会引发KeyError
#如果key存在于字典中则将其移除并返回值,否则返回default。如果default未给出且key不存在于字典中,则会引发KeyError
popitem()
setdefault(key[, default])
update([other])
values()
viewitems()
viewkeys()
viewvalues()
字典视图
TODO
注意
字典的键只能为可变类型
新字典初始化时拥有 8 个插槽
0 条评论
下一页