利用字典推导式快速生成字典。
{k: v for k, v in lst}
key的默认值
当指定key不存在时,将value设置为 0。
普通的写法
if key not in dct:
dct[key] = 0
pythonic的写法
dct[key] = dct.get(key, 0)
交换key与value
普通的写法
dic = {‘Python’: 1, ‘Java’: 2}
new_dic = {}
for k, v in dic.items():
new_dic[v] = k
更pythonic的写法
dic = {‘Python’: 1, ‘Java’: 2}
new_dic = {v: k for k, v in dic.items()}
序列修改和初始化
示例数据
lst = [(‘a’, 1), (‘b’, 2), (‘c’, 3)]
dic = {‘a’: [0]}
如果我们需要根据lst来更新dic中的数据,当key存在,则将value添加到原序列末尾,否则初始化value并用序列保存。
普通的写法
for key, value in lst:
if key in dic:
dic[key].append(value)
else:
dic[key] = [value]
更pythonic的写法
for (key, value) in lst:
group = dic.setde