获取Python中列表中的最后一个条目

时间:2018-02-09 20:12:49

标签: python

我正在尝试获取列表中的最后一个条目,然后将该条目与另一个列表中的另一个条目进行比较。

ExpertiseList=['5', '9', '10']
DifficultyList=['1', '2', '7']

我试过了:

if ExpertiseList[len(ExpertiseList-1)]>=DifficultyList[len(DifficultyList)-1]:
    print("Solved")

但是我收到了错误消息。

TypeError: unsupported operand type(s) for -: 'list' and 'int'

4 个答案:

答案 0 :(得分:2)

你写了len(ExpertiseList-1)而不是len(ExpertiseList) - 1。虽然请注意,负索引为您提供了列表右侧的元素,因此some_lst[-1]是最后一个元素。

错误消息告诉您,您尝试在列表和int之间使用减法运算符(-),这没有任何意义。

答案 1 :(得分:1)

len(ExpertiseList-1)应为len(ExpertiseList) - 1,否则您试图从列表中减去整数

答案 2 :(得分:1)

有一种更好的方法来获取列表的最后一个元素。在python中,索引和切片非常强大。 [ ]运算符接受三个参数,以冒号:[start:end:step]分隔,起始索引为包含,末尾索引为独占。当给出一个参数时,它返回相应的amount元素,否则返回列表的一个片段。

索引也可能是负数。从列表末尾开始的负索引索引,而不是开头,例如[-1]给出列表中的最后一个元素,[-2]倒数第二个等等。

我将在这里给出一些切片的例子,只是为了好玩:

l = [0,1,2,3,4,5]
l[-1] # 5
l[:-1] # [0,1,2,3,4]
l[::2] # [0,2,4]
l[::-1] # [5,4,3,2,1,0]
l[-1:1:-2] # [5,3]

答案 3 :(得分:0)

第一个列表中的“-1”在de len函数内,你必须在结束“)”之后放置它。

if ExpertiseList[len(ExpertiseList)-1]>=DifficultyList[len(DifficultyList)-1]:
print("Solved")