好吧,我试着从一个文本文件中创建一个字典,所以键是一个小写字符,每个值都是文件中以该字母开头的单词列表。
文本文件每行包含一个小写单词,例如:
airport
bathroom
boss
bottle
elephant
输出:
words = {'a': ['airport'], 'b': ['bathroom', 'boss', 'bottle'], 'e':['elephant']}
实际上还没有完成很多工作,只是混淆了如何从每一行获取第一个索引并将其设置为键并附加值。如果有人能帮我弄到军士长,我会很感激的。
words = {}
for line in infile:
line = line.strip() # not sure if this line is correct
对于此类任务,
collections
模块中的defaultdict
是一个不错的选择:所以让我们来看看你的例子:
这看起来是个好的开始。现在你想用
line
做点什么。可能需要第一个字符,您可以通过line[0]
访问它:然后要检查该字母是否已在dict中。如果不在dict中,则可以添加新的空列表:
然后您可以将单词附加到该列表中:
你完了!
如果这些行已经像在示例文件中那样进行了排序,那么还可以使用^{} ,这要复杂一些:
您还可以先对行进行排序,这使得此方法通常适用于:
相关问题 更多 >
编程相关推荐