我的代码中包含一些单词的字典。该计划打算合并单词。
如果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]
这段代码有效吗?
答案 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
循环看起来仍然很难看。但首先让它工作,以后你可以提高代码的质量。我希望我的例子可以帮助你。