
class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:np = collections.defaultdict(list)for st in strs:name = "".join(sorted(st))np[name].append(st)return list(np.values())collections.defaultdict(list)创建字典类型,值为list的集合,这个()中的defaultdict 的默认值可以是任何可以通过调用一个无参数函数来生成的对象。这包括内置类型(如 int、float、str、list、set、tuple、dict)以及自定义的类或函数。
from collections import defaultdict  # 创建一个 defaultdict,其默认值为空列表  
dd = defaultdict(list)  # 访问一个不存在的键,它会自动添加一个空列表  
dd['key1'].append('value1')  # 'key1' 不存在,但 dd['key1'] 现在是 ['value1']  # 再次访问并添加元素到 'key1'  
dd['key1'].append('value2')  # dd['key1'] 现在是 ['value1', 'value2']  # 访问一个已存在的键并添加元素  
dd['key2'].append('value3')  # 'key2' 也不存在,但 dd['key2'] 现在是 ['value3']  # 打印整个 defaultdict  
print(dd)  # 输出:defaultdict(<class 'list'>, {'key1': ['value1', 'value2'], 'key2': ['value3']})  # 你可以像访问普通字典一样访问 defaultdict  
print(dd['key1'])  # 输出:['value1', 'value2']  
print(dd['key2'])  # 输出:['value3']  # 尝试访问一个不存在的键(但这里不会引发 KeyError)  
print(dd['key3'])  # 输出:[],因为 'key3' 不存在,但 defaultdict 提供了一个空列表作为默认值使用list()将np.values()转换为列表。