根据条件在循环中更新列表的上一个元素

时间:2018-03-29 06:55:52

标签: python list

我正在尝试清理列表的名称。

ENV

我得到以下结果:

  • 海蜇0.896296296296
  • 水母0.977777777778
  • 果冻1.0
  • smellyfish 0.858333333333

前两个记录是我想要的,但是我需要将果冻变成水母。

预期结果应为..

  • 海蜇0.896296296296
  • 水母0.977777777778
  • 水母0.977777777778
  • smellyfish 0.858333333333

2 个答案:

答案 0 :(得分:1)

让我们专注于需要更改的内容 - 您当前正在执行的search = Article.search "foo", :ranker => "expr('SUM(hit_count)')", :select => "SUM(weight()) AS count", :middleware => ThinkingSphinx::Middlewares::RAW_ONLY search.first["count"] 除了将变量current = previous重新分配给另一个对象之外什么都不做。

您需要做的是实际更新列表。您已经在对指数进行迭代,因此您只需进行一些小改动。

current

答案 1 :(得分:0)

原始列表中的值未更新。您需要添加以下行 -

previous = mylist[i-1]
current_score = jf.jaro_winkler(current, previous)
if (current_score > 0.96):
    mylist[i] = mylist[i-1]
    current = previous