如何在列表中查找重复项,并对找到的每个重复项执行不同的计算?

S人D人
a_list = [1, 2, 3, 1, 2, 3, 1, 2, 3]

我想遍历a_list并查找重复项。如果找到重复项,我想对该重复项进行计算。如果找到同一实例的另一个副本,则应执行不同的计算。

例如:

开始迭代a_list

1, 2, 3, 1 [Instance of duplicate 1 found - Perform 1+1 on instance]

继续迭代...

1, 2, 3, 1, 2 [Instance of duplicate 2 found - Perform 2+2 on instance]

继续迭代...

1, 2, 3, 1, 2, 3 [Instance of duplicate 3 found - Perform 3+3 on instance]

继续迭代...

1, 2, 3, 1, 2, 3, 1 [Second instance of duplicate 1 found - Perform 1+1+1 on instance]

继续迭代...

1, 2, 3, 1, 2, 3, 1, 2 [Second instance of duplicate 2 found - Perform 2+2+2 on instance]

继续迭代...

1, 2, 3, 1, 2, 3, 1, 2, 3 [Second instance of duplicate 3 found - Perform 3+3+3 on instance]

完成后,将创建一个包含所有计算的新列表:

new_list = [1, 2, 3, 2, 4, 6, 3, 6, 9]

有人可以向我解释如何查找重复项并计算这些重复项的实例,以便我可以对重复项的每个新实例执行不同的计算吗?

帕拉基维

我将使用字典来跟踪已使用的值和次数。

a_list = [1, 2, 3, 1, 2, 3, 1, 2, 3]
tracking_dict = {}
out_list = []
for item in a_list:
    # checks if item has been seen before
    if item in tracking_dict:
        # add the number as many times as it has been seen
        out_list.append(item + item * tracking_dict[item])
        # since you've seen the number, increase the count by 1
        tracking_dict[item] += 1
    else:
        # add it to the output list as-is
        out_list.append(item)
        # the item is new to this list
        tracking_dict[item] = 1
print(out_list)

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在列表中查找重复项?

来自分类Dev

在列表中查找重复项

来自分类Dev

计算不同的重复项

来自分类Dev

SQL在不同的列中查找重复项

来自分类Dev

如何在 linq 的动态列表列表中查找重复项?

来自分类Dev

在忽略字段的列表中查找重复项

来自分类Dev

在列表中查找连续的重复项

来自分类Dev

在无序列表中查找重复项

来自分类Dev

在几个列表中查找重复项

来自分类Dev

Python:在列表中查找重复项

来自分类Dev

在元组列表中查找重复项

来自分类Dev

如何计算python列表中的连续重复项

来自分类Dev

我如何计算列表中的重复项并更改项目值

来自分类Dev

如何在SQL中的行中查找重复项?

来自分类Dev

如何在不使用python中的set的情况下在列表中查找重复项?

来自分类Dev

计算OCaml列表中重复项的数量

来自分类Dev

用于计算列表中重复项的算法

来自分类Dev

Python:计算并删除列表中的重复项

来自分类Dev

如何在字符串中查找重复项?

来自分类Dev

如何在数组中查找部分重复项?

来自分类Dev

如何在组中查找重复项-SQL 2008

来自分类Dev

如何在数组中查找部分重复项?

来自分类Dev

如何在两列中查找重复项访问SQL

来自分类Dev

如何在Active Directory中查找重复项

来自分类Dev

如何在熊猫数据框中查找重复项

来自分类Dev

如何在std :: vector <strings>中查找重复项并返回它们的std :: list列表(按字母顺序排列)在该结果列表中没有重复项

来自分类Dev

如何计算阵列中的重复项

来自分类Dev

如何计算数组中的重复项

来自分类Dev

如何找到重复项的索引?