输入def inisial(daftar):
daftar = (
"Michael","Viny","Aurelio","Michael",
"Felix","Kevin","Vincen","Vincen","Michael")
inisial(daftar)
输出:
Michael
Viny
Aurelio
Michael2
Felix
凯文
Vincen2
Vincen3
Michael3
我假设您要计算每个名称的出现次数。如果是这样,您可以这样做。当然,如果您希望输出不同,则可以更改字典的返回格式。
def inisial(daftar):
d = {}
for daft in daftar:
if daft not in d:
d[daft] = 0
else:
d[daft] += 1
return d
daftar = (
"Michael","Viny","Aurelio","Michael",
"Felix","Kevin","Vincen","Vincen","Michael")
inisial(daftar)
输出:
{'Michael': 2, 'Viny': 0, 'Aurelio': 0, 'Felix': 0, 'Kevin': 0, 'Vincen': 1}
您需要计算列表中条目的频率,并在倒退列表中使用此频率。
def inisial(daftar):
freqs = {}
for name in daftar:
freqs[name] = freqs.get('name', 0) + 1
ret = []
for name in daftar:
freq = freqs[name]
if freq == 1:
ret.append(name)
elif freq > 1:
ret.append(name + str(freq))
return ret
除了@Sandertjunh的答案,您还可以使用collections.Counter。