Python:如何在列表中查找重复项并通过添加渐进字母重命名它们来更新这些重复项

2024-01-02

我有一个这样的项目列表:

['T1','T2','T2','T2','T2','T3','T3' ]

我需要确保重复项被重命名并添加了渐进字母,如下所示:

['T1','T2A','T2B','T2C','T2D','T3A','T3B']

但前提是同一项目出现超过 1 次。

另外,是否可以在不生成新列表的情况下执行此操作?

有任何想法吗?


from collections import Counter
from string import ascii_uppercase as letters

def gen(L):
    c = Counter(L)
    for elt, count in c.items():
        if count == 1:
            yield elt
        else:
            for letter in letters[:count]:
                yield elt + letter

Now:

>>> L = ['T1','T2','T2','T2','T2','T3','T3']
>>> list(gen(L))
['T2A', 'T2B', 'T2C', 'T2D', 'T3A', 'T3B', 'T1']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:如何在列表中查找重复项并通过添加渐进字母重命名它们来更新这些重复项 的相关文章

随机推荐