摘要:
字典通常是一个列表,分为键和值,目的是把一堆单词按照首字母分类。
首字母为键(key),单词为值(value)
代码部分:
1. 用if else
输入:
# 一些需要被排序的字母
words = ['apple', 'banana', 'ant', 'bat', 'cat', 'ball']
# 创建一个空的字典
by_letter = {}
# 从words的列表开始循环
for word in words:
# words列表的的第一个字母存到letter
letter = word[0]
# 看第一个字母是否已经存于by_letter中
if letter not in by_letter:
# 如果首字母不在字典中,创建一个新的键值对,键为首字母,值为包含当前单词的列表
by_letter[letter] = [word]
else:
# 如果首字母已经是字典的键,将当前单词追加到对应键的列表中
by_letter[letter].append(word)
输出:
{
'a': ['apple', 'ant'],
'b': ['banana', 'bat', 'ball'],
'c': ['cat']
}
2. 用setdefault
words = ['apple', 'banana', 'ant', 'bat', 'cat', 'ball']
# 空字典,用于按首字母分组存储单词
by_letter = {}
# 遍历 'words' 列表中的每个单词
for word in words:
# 获取当前单词的首字母
letter = word[0]
# 检查首字母是否已经是 'by_letter' 字典的键
# 如果首字母不在字典中,创建一个新的键值对,
# 键为首字母,值为包含当前单词的列表
# 如果首字母已经是字典的键,将当前单词追加到对应键的列表中
by_letter.setdefault(letter, []).append(word)
# 打印字典
print(by_letter)