目录
前言
本文为《流畅的python》的3.2-3.3节的学习笔记。
字典推导
DIAL_CODES = [
(86, 'China'),
(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}
print(country_code)
>>>
{
'China': 86, 'India': 91, 'United States': 1, 'Indonesia': 62, 'Brazil': 55, 'Pakistan': 92, 'Bangladesh': 880, 'Nigeria': 234, 'Russia': 7, 'Japan': 81}
说明:字典推导和列表推导,生成器推导写法类似,使用{}包含key和value
本例中,DIAL_CODES为列表,用for循环得到每个元素,其类型为元组,用元组拆包的方法得到区域码和国家名。
在字典推导时,以国家名为key,区域码为value。
country_code1 = {
code: country.upper()
for country, code in country_code.items()
if code < 66}
print(country_code1)
>>>
{
1: 'UNITED STATES', 62: 'INDONESIA', 55: 'BRAZIL', 7: 'RUSSIA'}
说明:以上例生成的字典为base进行拆包,并过滤区域码小于66的地区,推导新字典。
dict.setdefault
import sys
import re
WORD_RE = re.compile(r'\w+')
def get():
index = {
}
with

最低0.47元/天 解锁文章
1044

被折叠的 条评论
为什么被折叠?



