【发布时间】:2020-06-10 22:13:31
【问题描述】:
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]
有人可以向我解释如何查找重复项以及计算这些重复项的实例,以便我可以对重复项的每个新实例执行不同的计算吗?
【问题讨论】:
-
您可以创建一个字典作为计数器,并在循环列表时检查每个数字的计数并执行您的操作
-
使用集合中的计数器。一个例子可以在这里找到stackoverflow.com/questions/2600191/…。
-
有什么问题?你有没有尝试过什么,做过什么研究?
标签: python list loops duplicates