字典
python 中的字典是一种映射类型数据,里面的数据是键值对,Python中的字典是基于hash实现的。
- 键 : 字典的键是唯一的,同时字典的键必须是可哈希的(能够计算出一个固定的hash值)
- 值 :字典中的值可以为数字、字符串,以及其他容器
创建字典
- 使用 {} 的方法
- 使用工厂函数 dict
3种构造字典的方
a = {}
a = {
'ip': '127.0.0.1',
'port': '9090',
}
a = dict((['x', 1], ['y', 2]))
a = {}.fromkeys(('x', 'y'), 4)
字典是无序的,hash表的实现也是无序的
访问字典的元素
print(a['x'])
往字典中插入元素
a['y'] = 'hello'
a['z'] = 'world'
删除字典中的元素
del a['x']
print(a)
清空字典
del a['x']
print(a)
判定元素是否存在于字典中
print('x' in a)
print('y' in a)
字典之间的大小关系
1.先比较元素个数
2.再比较key
3.再比较
常用的内置函数
len : 字典中键值对的个数 hash : 判断一个对象是否可哈希,若是不可以,就报错 |
print(hash(()))
print(hash("hello"))
print(hash(4))
print(hash([]))
这里的元组为不可哈希的
一般情况下,不可修改的类型都是可哈希的
keys : 返回一个列表,包含字典的所有值 values : 返回一个列表,包含字典的所有value items: 返回一个列表,每一个元素都是一个元组,包含了key 和 value |
a = {
'ip': '127.0.0.1',
'port': '9090',
}
print(a.keys())
print(a.values())
print(a.items())
集合(set)
a = set([1, 2, 3])
b = set([1, 2, 3, 4])
print(a | b)
print(a & b)
print(a - b)
print(b - a)
print(a ^ b) # 取对称差
set 具有去重的操作
c = set([1, 2, 3, 4, 5, 4, 4, 3])
print(c)