我从一个字符串列表开始。每个元素都包含一个名称和一个罗马数字。我想按名称先按字母顺序排序,然后再按罗马数字排序。
到目前为止,我只能用[name,numeral]
个字符串创建一个列表:
names = ['Louis IX','Louis VIII','Maria III','Oscar IV','Adams XXX','Anuar III','Oscar V']
def sortRoman(names):
names_separated = []
age_separated = []
for i in range(len(names)):
separated = names[i].split()
for j in range(len(separated)):
if j % 2 == 0:
names_separated.append(separated[j])
else:
age_separated.append(separated[j])
list_full_ordered = zip(names_separated,age_separated)
return list(sorted(list_full_ordered))
if __name__ == "__main__":
print(sortRoman(names))