【发布时间】:2014-12-24 13:55:05
【问题描述】:
我正在尝试创建一个函数来读取每行有一个单词的文本文件,例如
afd
asmv
广告
它将获取用户给定长度的单词,并构造一个 python 字典,其中键是单词的字符串,其中字母被排序。这些值将是一组具有相同键的所有单词。到目前为止,我有:
def setdict():
wordfile = argv[1]
open(wordfile, "r")
setdict = {}
for line in wordfile:
words = line.split()
for word in words:
word = word.rstrip("\n")
if word == wordlength:
key = str(sorted(word))
我有点迷失如何使用具有相同键的单词创建集合并将它们放入字典中。任何帮助将不胜感激。
【问题讨论】:
-
为了将来参考,在计算方面,您正在寻找的一般概念是“multi-dict”(或“multi-map”或“multi-mapping”等)——比如一个字典(或地图等),但每个键有多个值。这是其中一种情况,知道正确的词可以很容易地搜索答案,但没有那个词几乎是不可能的。 (您会发现,在 Python 中,多字典通常表示为
dict,其值是实际值的sets 或lists,通常使用collections.defaultdict或 @ 构建dict上的 987654326@ 方法,如 Robᵩ 的回答。)
标签: python dictionary set key