官方文档解释:
get(…)
D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
这个其实是读取字典的方法dct[key]的一种加强版的拓展形式,就是说如果get方法只有一个参数,那么和读取字典中key对应的value值,如果没有这个key,则返回可选参数d,d的默认值为None。用这种方法,可以在建表的时候简化某些操作,比如对于字母异位词分组问题,我们可以在设计完键之后简化代码如下:
lst = ["eat", "tea", "tan", "ate", "nat", "bat"]
dct = {}
for word in lst:
key = ''.join(sorted(word))
dct[key] = dct.get(key,[]) + [word]
print(dct)
这样的建表兼职不要太简洁太pythonic!
结果如下:
{'aet': ['eat', 'tea', 'ate'], 'ant': ['tan', 'nat'], 'abt': ['bat']}