class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
hashtable = collections.defaultdict(list)
for st in strs:
key = "".join(sorted(st))
hashtable[key].append(st)
return list(hashtable.values())
在这段代码中,key
不能直接等于sorted(st)
,因为sorted(st)
返回的是一个字符列表,而不是字符串。在Python中,列表不能作为字典的键,因为列表是可变的,而字典的键必须是不可变的。
"".join(sorted(st))
这行代码的作用是将sorted(st)
返回的字符列表连接成一个字符串。"".join()
函数会使用空字符串""
作为分隔符,将列表中的所有元素连接成一个字符串。因此,"".join(sorted(st))
的结果是一个字符串,可以作为字典的键。
例如,如果st
是"eat"
,那么sorted(st)
的结果是['a', 'e', 't']
,"".join(sorted(st))
的结果是"aet"