马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
words = ['apple', 'bat', 'bar', 'atom', 'book','student','same']
by_letter = {}
for word in words:
letter = word[0]
if letter not in by_letter:
by_letter[letter] = [word]
else:
by_letter[letter].append(word)
by_letter
run的结果:{'a': ['apple', 'atom'], 'b': ['bat', 'bar', 'book'], 's': ['student', 'same']}
代码来源:《Python for data analysis》第二版
代码目的:通过首字母将列表中的单词分类。
请问这段的的逻辑是什么? 看了好几遍
还是不懂为什么能够能够将列表中的元素按字母分类
???:run的结果中'a' , 'b'是哪里来的
words = ['apple', 'bat', 'bar', 'atom', 'book','student','same']
by_letter = {}
for word in words:
# word 相当于列表words中的一个元素,for循环将整个words列表中的每个元素都过了一遍
letter = word[0]
# letter 是word字符串的第一个字符,就相当于将单词的第一个字母提取出来,识别
if letter not in by_letter:
by_letter[letter] = [word]
# 如果识别出来的这个字母在字典中已经存在,那么就把相应的单词放入字典中对应的字母键下面
else:
by_letter[letter].append(word)
# 如果识别出来的字母在字典中不存在,那么就在字典中添加相应的键和值
by_letter
|