Python 排序方面的列表/元组
Python Lists/ Tuples in terms of sorting
我正在努力克服 Python 中的 problem/task,而且我真的被想法困住了。我需要从一个文件中读取两行,对其中一行(从根据用户输入的数据确定的多个文件)进行排序,但是 return 在 运行 俱乐部的上下文中对这两行数据进行排序。用户平均每小时英里数将在几周内计算出来,并与程序开始时存储的用户 ID 一起存储在一个 .txt 文件中,程序的最后部分将需要读取这些文件(用户 ID 和平均每小时英里数)并对平均每小时英里数进行排序,同时保留用户 ID(return 两者放在一起以进行汇总)。然后我需要说明前几名选手。任何帮助将不胜感激,我没有使用 SQL 等,只是逐行使用标准 Python。我的代码未优化,但我现在使用它 'the home straight'。另外,我的朋友建议我使用元组,但老实说我不知道从哪里开始。请原谅 'elementary mistakes'。我也玩过元组,但从未正确集成它们,因为我不知道从哪里开始。还发现保存变量的问题与运算符冲突,这意味着我无法在不定义每个人的情况下将它们全球化。
def retrieve():
global datasave,y ###don't know where to go from this as it does not work
y=1
if y>3: #just practiced with 2 'users'
y=str(y)
print("All members entered and saved, a comparision of average miles per hour will be intiated")
file=open(y+".txt",'r') #saves files in which they occur for easy 'read'
datasave=file.readline(5)
datasave,y=datasave #gave me a 'cannot assign to operator' error
y=int(y)
y=y+1
else:
avmphlist=[datasave1,datasave2,datasave3,datasave4,datasave5,datasave6,datasave7,datasave8,datasave9,datasave10]
sorted(avmphlist)
print(avmphlist)
print("Unfortunately ",avmphlist[9]," and ",avmphlist[10],"have not made the team, thank you for your participation")
print("Congratulations to ",avmphlist[1],", ",avmphlist[2],", ",avmphlist[3],", ",avmphlist[4],", ",avmphlist[5],", ",avmphlist[6],", ",avmphlist[7]," and ",avmphlist[8],)
从为您的数据定义元组列表开始
runnerData = [("TestName1", 70),("TestName2", 50), ("TestName3", 60)]
现在使用内置排序方法:
sortedRunnerData = sorted(runnerData, key=lambda data: data[1])
现在你有一个数据元组的排序列表(升序)。如果您需要按降序排列,只需反转列表即可:
sortedRunnerData.reverse()
现在列表 sortedRunnerData 列表包含降序排列的数据。
我正在努力克服 Python 中的 problem/task,而且我真的被想法困住了。我需要从一个文件中读取两行,对其中一行(从根据用户输入的数据确定的多个文件)进行排序,但是 return 在 运行 俱乐部的上下文中对这两行数据进行排序。用户平均每小时英里数将在几周内计算出来,并与程序开始时存储的用户 ID 一起存储在一个 .txt 文件中,程序的最后部分将需要读取这些文件(用户 ID 和平均每小时英里数)并对平均每小时英里数进行排序,同时保留用户 ID(return 两者放在一起以进行汇总)。然后我需要说明前几名选手。任何帮助将不胜感激,我没有使用 SQL 等,只是逐行使用标准 Python。我的代码未优化,但我现在使用它 'the home straight'。另外,我的朋友建议我使用元组,但老实说我不知道从哪里开始。请原谅 'elementary mistakes'。我也玩过元组,但从未正确集成它们,因为我不知道从哪里开始。还发现保存变量的问题与运算符冲突,这意味着我无法在不定义每个人的情况下将它们全球化。
def retrieve():
global datasave,y ###don't know where to go from this as it does not work
y=1
if y>3: #just practiced with 2 'users'
y=str(y)
print("All members entered and saved, a comparision of average miles per hour will be intiated")
file=open(y+".txt",'r') #saves files in which they occur for easy 'read'
datasave=file.readline(5)
datasave,y=datasave #gave me a 'cannot assign to operator' error
y=int(y)
y=y+1
else:
avmphlist=[datasave1,datasave2,datasave3,datasave4,datasave5,datasave6,datasave7,datasave8,datasave9,datasave10]
sorted(avmphlist)
print(avmphlist)
print("Unfortunately ",avmphlist[9]," and ",avmphlist[10],"have not made the team, thank you for your participation")
print("Congratulations to ",avmphlist[1],", ",avmphlist[2],", ",avmphlist[3],", ",avmphlist[4],", ",avmphlist[5],", ",avmphlist[6],", ",avmphlist[7]," and ",avmphlist[8],)
从为您的数据定义元组列表开始
runnerData = [("TestName1", 70),("TestName2", 50), ("TestName3", 60)]
现在使用内置排序方法:
sortedRunnerData = sorted(runnerData, key=lambda data: data[1])
现在你有一个数据元组的排序列表(升序)。如果您需要按降序排列,只需反转列表即可:
sortedRunnerData.reverse()
现在列表 sortedRunnerData 列表包含降序排列的数据。