Python 字典

python学习网 2021-05-06 14:55:05

1 什么是字典

字典是Python中唯一的映射类型,采用键值对(key-value)的形式存储数据

Python中对key进行哈希函数运算,根据结果来决定value的存储地址,所以字典是无序的,且key必须是可哈希的可哈希的意思是,key必须是不可变类型:如数字、字符串、元组

字典和列表是Python中最灵活的内置数据类型,两者的区别在于:列表是有序的对象集合、可以通过索引取值;字典是无序的对象集合,只能通过键(key)来取值

1 字典的操作

1.1 创建字典

创建字典方法如下:

# 创建空字典
dict1 = {}
dict2 = dict()
print(dict1)
print(dict2)

# 直接赋值
dict3 = {'张无忌': 25, '赵敏': 24}
print(dict3)

# dict函数和参数传值
dict4 = dict(张无忌=25, 赵敏=24)
# 此方法以参数形式构建键值对,所以字符不用加引号'',Python生成字典时会自动补上,同时也不能用数字作为键,因为参数不能以数字开头
print(dict4)

# dict函数和可迭代对象
dict5 = dict(zip(['张无忌', '赵敏', '周芷若'], [25, 24, 25]))
dict6 = dict([('张无忌', 25), ('赵敏', 24), ('周芷若', 25)])
print(dict5)
print(dict6)

# 字典推导式,此方法严格来说就是直接赋值
dict7 = {i: i ** 2 for i in range(10) if i % 2 == 0}

# dict.fromkeys(sep,value=None)方法创建,sep是可迭代序列,value是可选参数,所有值均相同,默认值是None
dict8 = dict.fromkeys(range(3))
print(dict8)

结果如下:

1.2 访问列表元素

1.2.1 以键(key)访问值(value)

示例如下:

a = {'张无忌': 25, '赵敏': 24}
print(a['张无忌'])

结果如下:

1.2.2 dict.item()方法遍历字典

dict.item()方法返回的是一个二元元组构成的dict_item类型对象,dict_item类型可以遍历,但不能更改

其中二元元组是由字典的键值对构成,示例如下:

a = {'张无忌': 25, '赵敏': 24}
print(a.items())
print(type(a.items()))

for item in a.items():  # item对象由元组构成
    print(item)
    print(type(item))

for key, value in a.items():  # 元组由键值对构成
    print(key, value)
    print(type(key), type(value))

结果如下:

1.2.3 dict.key()、dict.value()方法遍历字典的键、值

示例如下:

a = {'张无忌': 25, '赵敏': 24}
print(a.keys())
print(a.values())
print(type(a.keys()), type(a.values()))

for key in a.keys():
    print(key)
    print(type(key))

for value in a.values():
    print(value)
    print(type(value))

结果如下:

未完待续...

阅读(47) 评论(0)