def find_key(d,values):
values=list(d.values())
for i in range(len(values)):
for j in range(i,len(values)):
if values[j]==values[i]:
return
n=int(input())
datas={}
for i in range(n):
name_birth=input().split()
datas[name_birth[0]]=' '.join(name_birth[1]+name_birth[2])
datas=sorted(datas.items(),key=lambda x:(x[1],len(x[0])))
names=[]
birthes=[]
print(datas)
for i in range(len(datas)):
a_name=datas[i][0]
a_birth=datas[i][1]
names.append(a_name)
birthes.append(a_birth)
print(names)
print(birthes)
while True:
for i in range(len(birthes)):
if birthes[i]=='':
break
elif birthes.count(birthes[i]) >=2:
#for i in range(len(values)):
#for i in range(len(datas)):
# for j in range(i,len(datas)):
# if datas[j][1]==datas[i][1] and datas[j][2]==datas[i][2]:
# outcomes.append(datas[j][0])
# datas.remove(datas[j])
这种很显然应该用字典啊,循环多累呀
n=int(input())
d={}
while n:
name,month,day=input().split()
birthday=f'{month} {day}'
if birthday in d:
d[birthday].append(name) #如果字典里有日期,加入
else:
d[birthday]=[name] #如果字典里没有日期,建立新list
n-=1
lst=list(d.items()) #字典转list
lst=[x for x in lst if len(x[1])>0] #筛选名字多于1个的数据
lst.sort(key=lambda x:int(x[0].split()[0])*100+int(x[0].split()[1])) #按生日排序
if len(lst)>0: #如果有,循环打印
for i in lst:
print(i[0],*i[1])
else:
print('None')