有没有一个很好的成语可以用来添加新的列表或在字典中添加列表(如果有的话)



这是我第二次实现这样的东西,我怀疑必须有一种更好的(读作:更蟒蛇)方法:

phone_book = {}
def add_number(name,number):
  if name in phone_book:
    phone_book['name'].append(number)
  else:
    phone_book['name'] = [number]

我意识到通过条件赋值可以使代码更加简洁,但我怀疑可能有更好的方法。我对只缩短代码不感兴趣。

是的,您可以使用defaultdict。有了这个dict子类,当您访问字典中的一个元素时,如果一个值还不存在,它会使用您指定的构造函数自动创建一个值。

from collections import defaultdict
phone_book = defaultdict(list)
def add_number(name, number):
    phone_book[name].append(number)

像这样使用dictsetdefault

phone_book.setdefault('name', []).append(number)

最新更新