利用 Python 的字典推导,我们可以把以键值对作为元素的可迭代对象中构建出字典。以键值对作为元素的可迭代对象的一个典型对象是包含键值对元组的列表。
Luciano Ramalho 举了一个示例,用来说明如何使用字典推导。
DIAL_CODES = [
(91, 'India'),
(1, 'United States'), (62, 'Indonesia'), (55, 'Brazil'), (92, 'Pakistan'), (880, 'Bangladesh'), (234, 'Nigeria'),
(7, 'Russia'),
(81, 'Japan'),
]
country_code = {country: code for code, country in DIAL_CODES}
logging.info('country_code -> %s', country_code)
code_country = {code: country.upper() for country, code in country_code.items() if code < 66}
logging.info('code_country -> %s',code_country)
运行结果:
INFO - country_code -> {'India': 91, 'United States': 1, 'Indonesia': 62, 'Brazil': 55, 'Pakistan': 92, 'Bangladesh': 880, 'Nigeria': 234, 'Russia': 7, 'Japan': 81}
INFO - code_country -> {1: 'UNITED STATES', 62: 'INDONESIA', 55: 'BRAZIL', 7: 'RUSSIA'}
- 示例中首先初始化了一个包含多个元组的列表,每个元组的键为区域码、值为国家名。
- 第一次利用字典推导,得到了一个以键为区域码、值为国家名的字典;
- 第二次利用字典推导,得到了一个以键为国家名、值为区域码的字典。在字典推导中,还可以利用 if 语句过滤出我们希望的区域码。
网友评论