如何索引列表中的重复项?

avgjoe567

我有一个清单:

ids = ["a", "b", "c", "a", "a", "d", "c"]

我需要创建一个函数,该函数将计算此列表中的重复项并对其进行标记,以便得到以下结果:

['a', 'b', 'c', 'a_1', 'a_2', 'd', 'c_1']

怎么做?我试图使用list.count方法,但在这种情况下它没有帮助:

b=[]
for i in ids:
     b.append(i+str(ids.count(i)))

因为我得到这个结果:

['a3', 'b1', 'c2', 'a3', 'a3', 'd1', 'c2']
Eyosyas Dagnachew

您可以使用字典,其中键是ID列表中的项,而值是计数。然后,当您找到新的ID时,请将ID附加到输出列表中。但是,如果id已在字典中,则增加计数并将id与该计数一起附加到输出列表中。最后,返回列表。这是python中的示例代码:

ids = ["a", "b", "c", "a", "a", "d", "c"]
output_ids = []
id_count = {}

# iterate through ids
for item in ids:
    # if it's a new id
    if item not in id_count:
        # add it to dictionary
        id_count[item] = 0
        # add it to the output as is
        output_ids.append(item)
    # if it's not new
    else:
        # increment its count
        id_count[item] += 1
        # add it to the output along with its count
        output_ids.append(f"{item}_{id_count[item]}")

print(output_ids)  # ['a', 'b', 'c', 'a_1', 'a_2', 'd', 'c_1']

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

筛选列表中的重复项

来自分类Dev

Python-列表中重复项的索引

来自分类Dev

在列表中查找重复项

来自分类Dev

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

来自分类Dev

如何从元组列表中删除重复项,但保持原始顺序

来自分类Dev

如何从对象列表中删除重复项

来自分类Dev

列表中的方案重复项

来自分类Dev

删除python列表中的重复项,但要记住索引

来自分类Dev

如何从列表中删除连续的重复项?

来自分类Dev

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

来自分类Dev

如何从对象列表中删除(通过linq)重复项

来自分类Dev

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

来自分类Dev

如何从未排序的链接列表中删除重复项

来自分类Dev

如何删除列表中的重复项(Raku)

来自分类Dev

Ansible:如何从列表中获取重复项?

来自分类Dev

列表中重复项的python列表索引

来自分类Dev

如何遍历列表并检索最小值的索引,但忽略输出列表中的重复项?

来自分类Dev

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

来自分类Dev

删除列表中的重复项

来自分类Dev

返回列表中的重复项

来自分类Dev

如何从对象列表中删除重复项

来自分类Dev

如何搜索OCaml列表中的重复项?

来自分类Dev

列表中重复项的getCount

来自分类Dev

如何获取javascript数组中重复项的索引?

来自分类Dev

如何从sql列表中删除重复项?

来自分类Dev

如何编辑列表中的重复项?

来自分类Dev

如何找到重复项的索引?

来自分类Dev

从具有重复项的列表中对索引进行排序

来自分类Dev

python 列表中重复项的最后一个索引