从值到价值迭代dict

时间:2016-12-10 14:10:30

标签: python python-2.7 dictionary iteration

我有这样的字典:

data = {1: [u'-', u's'], 2: [u'je', u'co', u'na'], ...}

KEY是属于它的单词的长度。对于长于X且比Y短的单词,我想调用一个函数(将计算levenshtein距离)。我该怎么做?

主要问题是获取字典长度,因为len()返回字典中的项目数,而不是键。

现在我这样做:

for k in data:
    if k >= len(word)-distance and k <= len(word)+distance:
    for item in data[k]:
        if levenshtein(word, item) == distance:
                    words.append(item)
return words

2 个答案:

答案 0 :(得分:0)

data.keys()将为您提供密钥,您可以迭代它们。

答案 1 :(得分:0)

您可以使用

获取长度介于X和Y之间的所有单词的列表
sum((words for key, words in data.items() if X<key<Y), [])