哈希表
49. 字母异位词分组
-
自写的问题:
- 如何获取字符串对应的ASCII数值总和并其保存在列表中
word_values = [sum(ord(char) for char in word) ]
- 如何创建字典的值的元素为list类型的字典呢?
直接用普通的字典,wordvalue_word_hash = {}
,但是在初始化元素时用列表初始化
❎:wordvalue_word_hash[sort_word]= word
✅:wordvalue_word_hash[sort_word]= [word]
并且在添加元素时用append方法wordvalue_word_hash[sort_word].append(word)
- 如何将列表中的元素逐个添加到原本列表,又如何将列表中整体添加到原本列表?
(1)将一个列表中的元素逐个添加到另一个列表,你可以使用 extend 方法,extend方法将可迭代对象的元素逐个添加到列表中
(2)将列表的整体添加列表到列表使用append 方法, append方法在列表的末尾直接添加一个元素。它接受一个参数,该参数可以是任何数据类型,包括数字、字符串、列表等
- 如何获取字符串对应的ASCII数值总和并其保存在列表中
-
注:
- ASCII相同的单词并非是相同的字母组成的,也有可能是不同的字母组成的,如:ill(105 + 108*2 = 321) 和 duh(100+117+104 = 321)相同
-
答案思路:
- 每个单词会应射到自己单词对应的组中
- ★ {排序后的字符串: 源字符串}
-
知识点:
- 如何对字符串进行排序?
- 答:Python 中,字符串是不可变的数据类型,因此不能直接对字符串进行排序。不过,你可以使用内置函数 sorted() 来生成一个排好序的字符列表,然后再使用 join() 方法将其连接成一个字符串。
text = "hello"
sorted_text = ''.join(sorted(text))
print("原始字符串:", text)
print("排序后的字符串:", sorted_text)