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

2024-03-28 08:31:36 发布

您现在位置: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'

Tags: and列表forleniftype条目list
3条回答

你写了len(ExpertiseList-1)而不是len(ExpertiseList) - 1。尽管注意到负索引提供了列表右侧的元素,但是some_lst[-1]是最后一个元素。你知道吗

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

len(ExpertiseList-1)应该是len(ExpertiseList) - 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]

相关问题 更多 >