创建字典的函数:
dict()
dict 语法:
class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg)
参数:
- **kwargs -- 关键字。
- mapping -- 元素的容器,映射类型(Mapping Types)是一种关联式的容器类型,它存储了对象与对象之间的映射关系。
- iterable -- 可迭代对象。
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>>
【一、将一个列表写成键时】:
1、字典推导式法
my_list = ['apple', 'banana', 'orange']
my_dict = {item: None for item in my_list}
print(my_dict)
【字典推导式】解释:
字典推导式的一般语法是 {key_expression: value_expression for item in iterable}
,其中 key_expression
是用于生成字典键的表达式,value_expression
是用于生成字典值的表达式,item
是迭代对象中的每个元素。
2、循环遍历列表法
my_list = ['apple', 'banana', 'orange']
my_dict = {}
for i in my_list: # i用来读内容
my_dict[i] = None
print(my_dict)
两者输出都为:
{'apple': None, 'banana': None, 'orange': None}
【二、两个列表,一个为键,一个为值时】:
1、字典推导式法:
keys = ['apple', 'banana', 'orange']
values = [3, 6, 4]
my_dict = {key: value for key,value in zip(keys,values)}
print(my_dict)
在给定的代码中,使用了 zip(keys, values)
来将两个可迭代对象 keys
和 values
组合在一起。zip()
函数将对应位置的元素打包成一个元组,然后通过迭代这些元组来生成字典的键和值。
具体来说,key
和 value
是迭代 zip(keys, values)
返回的元组中的元素,然后通过 {key: value}
的形式生成一个键值对。通过迭代所有的元组,字典推导式会生成一个包含所有键值对的字典。
2、循环遍历法
keys = ['apple', 'banana', 'orange']
values = [3, 6, 4]
my_dict = {}
for i in range(len(keys)): #i用来控制下标
my_dict[keys[i]] = values[i]
print(my_dict)