迭代和修改字典

时间:2014-11-04 10:33:03

标签: python python-2.7 dictionary

我的代码中包含一些单词的字典。该计划打算合并单词。

如果word i位于word j,则将dictionary[word i]的值合并到dictionary[word j]并删除dictionary[word i]

for i in my_dict.keys():
   for j in my_dict.keys():
     if i!=j:
       if i in j:
          my_dict[j]+=my_dict[i]
          del my_dict[i]
       elif j in i:
          my_dict[i]+=my_dict[j]
          del my_dict[j]

这段代码有效吗?

1 个答案:

答案 0 :(得分:1)

您的代码无效。 python中没有用于从字典中删除元素的命令delete。它被称为del。您可以从字典中删除项目,如下所示:

del your_dictionary['some_key']

然而,这不是非常pythonic。您可以像这样重构代码:

for i in my_dict.keys():
    for j in my_dict.keys():
        if i != j:
            if i in j:
                my_dict[j] += my_dict.pop(i)
            elif j in i:
                my_dict[i] += my_dict.pop(j)

pop是一个字典方法,它从字典中返回并删除一个项目。

以上代码仅是关于字典中值的合并(连接)的建议。双for循环看起来仍然很难看。但首先让它工作,以后你可以提高代码的质量。我希望我的例子可以帮助你。