python-3.x 向特定重复字符串添加字符

ogq8wdun  于 2022-12-20  发布在  Python
关注(0)|答案(3)|浏览(151)

我尝试将字符添加到特定的重复字符串中,如以下情况所示:
第一个月
所以我的清单上有重复的项目;我想在其中一个重复项中添加另一个字符,希望得到以下输出:
nomes_comp = ['Fulano A', 'Beltrano B', 'Fulano A1']
我试过了,但没用:

for nome in zip(nomes[0], nomes[1]):
   nomes_comp.append(nome[0] + ' ' + nome[1])
taor4pac

taor4pac1#

使用字典(或collections.defaultdict)来记录您找到了多少个匹配项。

nomes_comp = ['Fulano A', 'Beltrano B', 'Fulano A']

count_d = dict()

for i, n in enumerate(nomes_comp):
    c = count_d.get(n, 0)
    count_d[n] = c + 1
    if c:
        nomes_comp[i] = n + str(c)

执行此操作后,原始nomes_comp将修改为:

['Fulano A', 'Beltrano B', 'Fulano A1']
rjee0c15

rjee0c152#

您可以尝试:

nomes_comp = ["Fulano A", "Beltrano B", "Fulano A"]

out, cnt = [], {}
for n in nomes_comp:
    if n in cnt:
        cnt[n] += 1
        out.append(f"{n}{cnt[n]}")
    else:
        cnt[n] = 0
        out.append(n)

print(out)

图纸:

['Fulano A', 'Beltrano B', 'Fulano A1']
to94eoyn

to94eoyn3#

使用计数器。

from collections import Counter

counts = Counter(nomes_comp)
for name, count in counts:
    if count > 1:
        ...

为此类条目生成并存储新的唯一名称。

相关问题