Python 如何显示元组列表并计算相同数量的元素
输入 def inisial(daftar): 输出: 迈克尔 维尼 奥雷里奥 Michael2 费利克斯 凯文 文森2 文森3Python 如何显示元组列表并计算相同数量的元素,python,list,tuples,namedtuple,Python,List,Tuples,Namedtuple,输入 def inisial(daftar): 输出: 迈克尔 维尼 奥雷里奥 Michael2 费利克斯 凯文 文森2 文森3 Michael3我假设您要计算每个名称的出现次数。如果是这样,你可以这样做。如果希望输出不同,当然可以更改字典的返回格式 def inisial(daftar): d = {} for daft in daftar: if daft not in d: d[daft] = 0 else:
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}
您需要计算列表中条目的频率,并在returend列表中使用此频率
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的答案之外,您还可以使用。您可以使用以下代码解决问题
daftar = ("Michael", "Viny", "Aurelio", "Michael",
"Felix", "Kevin", "Vincen", "Vincen", "Michael")
temp_dict = {}
for name in daftar:
if temp_dict.get(name):
temp_dict[name] += 1
else:
temp_dict[name] = 1
if temp_dict[name] > 1:
print('%s%d' % (name, temp_dict[name]))
else:
print(name)
我试图制作这个节目,但失败了。你的问题太模糊了。输入应该是什么,输出应该是什么?请给出一个确切的例子。输出是元组中的名称,如果名称大于1,则输出将输出示例vincen 1、vincen 2
daftar = ("Michael", "Viny", "Aurelio", "Michael",
"Felix", "Kevin", "Vincen", "Vincen", "Michael")
temp_dict = {}
for name in daftar:
if temp_dict.get(name):
temp_dict[name] += 1
else:
temp_dict[name] = 1
if temp_dict[name] > 1:
print('%s%d' % (name, temp_dict[name]))
else:
print(name)