目录
1. Python 字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:
tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
2. 示例:
contact_list = [{'display_name': '10手机', 'data1': '1-000-10'},
{'display_name': '11手机', 'data1': '1-000-11'}, ]
把上面的列表转成下面的字典
contact_dir = {'10手机': '1-000-10', '11手机': '1-000-11'}
巧用字典推导式将列表中的元素转换为所需的字典格式,下面是如何实现的示例代码:
contact_list = [{'display_name': '10手机', 'data1': '1-000-10'},
{'display_name': '11手机', 'data1': '1-000-11'}]
contact_dict = {contact['display_name']: contact['data1'] for contact in contact_list}
print(contact_dict)
运行结果:
{'10手机': '1-000-10', '11手机': '1-000-11'}
在这个示例中,我们使用字典推导式创建了一个新字典 contact_dict,其中键是列表中每个字典的 'display_name' 键对应的值,而值是 'data1' 键对应的值。