的,我有一些问题,我的排序algorithimPython的调用错误的类型类型的变量
def Rank_Players():
Score_List = []
Sorted_List = []
for x in List_Of_Players:
Score_List.append([x,List_Of_Players[x][1]])
while Score_List:
maximum = Score_List[x]
for x in Score_List:
if Score_List[x][1] > maximum[1]:
maximum = Score_List[x][1]
Sorted_List.append(maximum)
Score_List.remove(maximum)
print (Sorted_List)
首先让我来解释一下它,因为我已经没有做任何评论。
首先List_Of_Players是,使用不同的程序
- 创建两个阵列,然后追加字典参考编号 并有总指向Score_List格式为[X,点保持给定玩家的信息的全局字典]
- 虽然Score_List具有值它将经过列表检查 它们是否与点
- 最大附加到Sorted_List并从所述Score_List取出并打印到s的大量的阵列creen(现在看看它是否有效)
我的问题是,尽管在第11行指向一个整数,Python相信我比较使用列表。
TypeError: list indices must be integers, not list
为了试图解决这个问题,我已经尝试改变两个最大declerations到
maximum = int(Score_list[x])
谢谢您的阅读,这是我第一次尝试使用排序algorithim所以那里有必然是更多的错误,但如果有人可以帮助TypeError我会非常感谢。
请解决您的压痕,并添加你的输入和预期的输出。什么是List_of_Players' – IanAuld
'Score_List.append([x,List_Of_Players [x] [1]])'将列表元素添加到列表中,您可以通过'Score_List'中的for x访问列表元素。所以'x'确实是一个不是整数的列表。 – runDOSrun
也在while循环中:'maximum = Score_List [x]',这里的'x'是什么,你没有定义它。 – Jkm