比较列表中的元素

时间:2012-01-14 21:34:31

标签: python list python-3.x

我刚开始学习Python ...我正在编写一个简单的程序,它将采用整数并保留未排序和排序的列表。我对排序列表部分有问题... 我在比较列表中元素的值时遇到错误。我得到错误的地方是以下行:“if sortedList [sortcount]> sortedList [count]:”。我得到“TypeError:unorderable types:list()> int()”。

这是代码的一部分......我不确定是什么问题。

numberList = []
sortedList = []
count = 0
sum = 0

....(skip)....

sortcount = 0
sortedList += [ int(userInput) ]
while sortcount < count:
    if sortedList[sortcount] > sortedList[count]:
        sortedList[count] = sortedList[sortcount]
        sortedList[sortcount] = [ int(userInput) ]  
    sortcount+=1

2 个答案:

答案 0 :(得分:5)

你在哪里:

sortedList[sortcount] = [ int(userInput) ]

你应该这样做:

sortedList[sortcount] = int(userInput)

否则你将在该位置添加一个列表并给出你告诉的错误。

BTW,在while循环之前的第一行写的更好

sortedList.append(int(userInput))

答案 1 :(得分:1)

你应该考虑使用:

sorted(numberList)

生成排序列表。更简单,更简单,无需重新发明轮子。

示例:

>>>unSorted = [3, 4, 1, 5]
>>>unSorted
[3, 4, 1, 5]
>>>sortedList = sorted(unSorted)
>>>sortedList
[1, 3, 4, 5]