[英]How to sort 2 list in the exact same order in python
我有一個排行榜和兩個列表,一個是名字,一個是分數。 排行榜可以完美地打印出名字和分數,但它是未排序的。 我想知道是否有任何方法可以對分數列表進行排序,然后以與分數完全相同的方式對名稱進行排序,以保持它們之間的聯系。 到目前為止,這是我的代碼:
def showLeaderboard():
print("Here is the leaderboard")
leadFile = open("leaderboard.txt","r")
leads = []
names = []
scores = []
lead = leadFile.readline()
while lead != "":
leads.append(lead)
lead = leadFile.readline()
leadFile.close()
for lead in leads:
fields = lead.split(",")
names.append(fields[0])
scores.append(fields[1])
for i in range(len(names)):
print(f"Name: {names[i]}, Score: {scores[i]}")
排行榜.txt:
mr epic man,3,
i am bad,1,
i am half decent at this,3,
mid,3,
def showLeaderboard():
print("Here is the leaderboard")
leads = []
scores_names=[]
with open("leaderboard.txt","r") as file:
leads = file.read().split('\n')[:-1]
for lead in leads:
fields = lead.split(",")
name = fields[0]
score = fields[1]
scores_names.append([name, score])
scores_names=sorted(scores_names, key=lambda x: x[0])
for i in range(len(scores_names)):
print(f"Name: {scores_names[i][0]}, Score: {scores_names[i][1]}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.