collections.defaultdict在异位词分组
时间: 2024-11-22 11:36:14 浏览: 11
`collections.defaultdict` 是 Python 内置的 defaultdict 类,它是字典的一种拓展,提供了一种默认值的功能。当你尝试访问字典中不存在的键时,默认会返回你预先设置的一个默认值,而不是抛出 `KeyError`。这对于处理可能出现缺失数据的情况非常有用。
在异位词分组(Anagram Grouping)这个场景下,你可以利用 `defaultdict` 来轻松地对一组字符串进行分组,因为如果两个字符串是异位词(即字符排序后相同),那么它们组成的集合应该是一样的。以下是使用 `defaultdict` 的一个简单示例:
```python
from collections import defaultdict
def group_anagrams(strings):
anagram_dict = defaultdict(list)
for string in strings:
sorted_string = ''.join(sorted(string))
anagram_dict[sorted_string].append(string)
return dict(anagram_dict)
strings = ["listen", "silent", "triangle", "integral", "tinsel"]
result = group_anagrams(strings)
print(result) # 输出:{'eilnst': ['listen', 'silent'], 'tinlge': ['tinsel'], 'driangle': ['triangle'], 'gineral': ['integral']}
阅读全文