【发布时间】:2018-05-21 12:27:30
【问题描述】:
我有一个带有嵌套 for 循环的 python 代码,它花费了太多时间,考虑使用像 dict = {'110': ('jade'), '2': ('amber'), '111' : ('harry')} 这样的字典
这是我的代码-
all_keys = dict.keys()
for number in all_keys:
for more_number in all_keys:
if SequenceMatcher(None, number, more_number).ratio() > 0.5:
dict[number] = dict[number].union(dict[more_number])
输出:-
dict = {'110' : ('jade', 'harry'), '2' : ('amber')}
这段代码正在做的是检查键的匹配概率是否大于 0.5,如果是,则将两个键添加到一个集合中并存储它。对于更多数据,出于显而易见的原因,它需要花费大量时间。有什么办法优化吗?
【问题讨论】:
-
您发布的代码不起作用。 (字符串没有
.union) -
@AKX 它是字符串元组的字典?
-
不要使用
dict作为变量名... -
@PatrickArtner 不,不是。
('jade')是括号中的字符串,('jade',)是 1 成员元组。此外,元组也没有union。 (设置。) -
@AKX 谢谢,我的错
标签: python performance for-loop optimization