字典介绍
字典与列表相似,是可变序列,保存形式通过就“键-值“方式进行存储
- 字典通过键进行读取,而不是索引进行读取
- 字典是任意对象的无序集合,从左到右随意排序,即保存在字典中的项没有特定的顺序
- 字典中的键必须是唯一的,同样的键不允许出现两次,如果出现两次,后一个会被记住
- 字典中的键是不可变的,所以可以使用数字、字符串、元组,但不能用列表
引用图片,可见其关系如下:
语法格式:
dictionary = {key1 : value1, key2 : value2, key3 : value3 }
示例代码如下:
a = {'姓名':'小朱','年龄':13,'学校':'上海小学'}
print(a)
结果为:
{'姓名': '小朱', '年龄': 13, '学校': '上海小学'}
Press any key to continue . . .
创建空字典
a = {} #直接创建空字典
b = dict() #两种用途,1、直接创建空字典;2、通过已有数据快速创建字典
1、通过映射函数创建字典
a = dict(zip(list1,list2))
- a表示字典名称
- zip()函数:可以将多个列表或者元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。如果想要获取元组,可使用tuple()函数将其转换为元组,如果想要获取列表,使用list()函数转换为列表,如果想要获取字典,使用dict()函数转换为字典。
- list1:一个列表,用于生产字典需要的键
- list2:一个列表,用于生成键对应的值。
- 如果list1与list2不同,则与最短的列表相同
示例代码如下:
a = [68,1,2,3,4,5,6,7,8,4,9,68]
b = [9,81,7,6,1,2,32,4,15,41,1]
c = dict(zip(a,b))
print(c)
结果为:
{68: 9, 1: 81, 2: 7, 3: 6, 4: 41, 5: 2, 6: 32, 7: 4, 8: 15, 9: 1}
Press any key to continue . . .
2、通过给定的关键字参数创建字典
语法格式:
a = dict(key1 = value1,key2 = value2,key3 = value3,...,keyn = valuen,)
-
a表示字典名称
-
key:字典的键,必须唯一
-
value:字典的值。
示例代码
d = dict(a ='asd',b ='qwe',b1 ='zxc')
print(d)
结果为
{'a': 'asd', 'b': 'qwe', 'b1': 'zxc'}
Press any key to continue . . .
其他使用方法代码
a = (9,81,7,6,1,2,32,4,15,41,333)
b = [9,81,7,6,1,2,32,4,15,41,1]
p = {a:b}
z = ['cat','Taz','happy','pet','Aa']
q = dict.fromkeys(z) #使用fromkeys创建值为空的字典
print(p)
print(q)
结果为
{(9, 81, 7, 6, 1, 2, 32, 4, 15, 41, 333): [9, 81, 7, 6, 1, 2, 32, 4, 15, 41, 1]}
{'cat': None, 'Taz': None, 'happy': None, 'pet': None, 'Aa': None}
Press any key to continue . . .