python45-Python字典之创建字典
程序既可使用花括号语法来创建字典,也可使用 dict函数来创建字典。实际上,dict 是一种类型,它就是Python中的字典类型。
在使用花括号语法创建字典时,花括号中应包含多个key-value对,key与value之间用英文冒号隔开:多个key-value对之间用英文逗号隔开
如下代码示范了使用花括号语法创建字典。
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopiweight = {'软件测试划水老师傅':89,'软件测试老痞':91,'亚特兰':78}print(weight)# 空的花括号代表空dictempty_dict = {}print(empty_dict)#使用元组作为dict的keydict1 = {(10,20):'price',10:'cheap'}print(dict1)
上面程序中第5行代码创建了一个简单的dict,该dict的 key 是字符串value 是整数;第8行代码使用花括号创建了一个空的字典;第11行代码创建的字典中第一个 key是元组,第二个key是整数值,这都是合法的。
需要指出的是,元组可以作为dict的key,但列表不能作为元组的key。这是由于dict要求key必须是不可变类型,但列表是可变类型,因此列表不能作为元组的key。在使用dict()函数创建字典时,可以传入多个列表或元组参数作为key-value对,每个列表或元组将被当成一个key-value对,因此这些列表或元组都只能包含两个元素。例如如下代码。
price = [('Apple',1.25),('banana',3.35),('grape',4.65)]#创建了包含3个key-value对的字典dict2 = dict(price)print(dict2) # {'Apple': 1.25, 'banana': 3.35, 'grape': 4.65}cars = [['BMW',7.5],['Audi',8.5],['Lexnu',6.5]]# 创建包含3个key-value对的字典dict3 = dict(cars)print(dict3) #{'BMW': 7.5, 'Audi': 8.5, 'Lexnu': 6.5}如果不为dict0函数传入任何参数,则代表创建一个空的字典。例如如下代码#创建一个空字典dict4 = dict()print(dict4) #{}
还可通过为dict指定关键字参数创建字典,此时字典的key不允许使用表达式。例如如下代码
# 使用关键字参数来创建字典dict5 = dict(name='软件测试星球导航',price=50)print(dict5) #{'name': '软件测试星球导航', 'price': 50}
上面第2行代码在创建字典时,其 key直接写name、price,不需要将它们放在引号中