簡體   English   中英

如何在python中以完全相同的順序對2個列表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM