该程序将字符串转换为字典并按姓氏按字母顺序对其进行排序,如果姓氏相同,则按名字对这些人进行排序。为什么程序输出的人比输入的人少?
import ast
s = "Alexis:Wahl;John:Bell;Victoria:Schwarz;Abba:Dorny;Grace:Meta;Ann:Arno;Madison:STAN;Alex:Cornwell;Lewis:Kern;Megan:Stan;Alex:Korn"
f=s.replace(":","':'")
i=f.upper().replace(";","','")
s1="'"
s2="'"
ins=s1+i+s2
d = ast.literal_eval('{'+ins+'}')
rev_dict = dict((v,k) for k,v in d.items())
t=''
e=sorted(rev_dict.items(), key=lambda x: (x[0],x[1]))
print(e)