如何检查python列表中最后三个元素是否为整数?

2024-04-19 11:52:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Python版本2.7.2。在

我有一个任务来检查列表中最后三个元素是否为整数? 例如:

mylist = [String, Large_string_containing_integers_inside_it, 80, 40, 50]

对于上面的列表,我想检查最后三个元素是否为整数。 我该怎么做?在

下面是我正在测试的代码:

^{pr2}$

Tags: integers代码版本元素列表stringit整数
1条回答
网友
1楼 · 发布于 2024-04-19 11:52:21

使用内置的isinstanceall函数以及列表切片。在

if all(isinstance(i, int) for i in mylist[-3:]):
    # do something
else:
    # do something else
  • all检查给定iterable中的所有元素是否计算为True。在
  • isinstance检查给定对象是否是第二个参数的实例
  • mylist[-3:]返回mylist的最后三个元素

另外,如果您使用的是python2,并且列表中有非常大的数字,那么还要检查long(long integer)类型。在

^{pr2}$

这可以防止10**100之类的数字破坏条件。在

但是,如果最后三个元素是字符串,则有两个选项。在

如果您知道没有一个数字非常大,可以使用isdigit字符串方法。在

if all(i.isdigit() for i in mylist[-3:]):
    pass

但是,如果它们可能非常大(大约或超过2**31),请使用try/except块和内置的map函数。在

try:
    mylist[-3:] = map(int, mylist[-3:])
    # do stuff
except ValueError:
    pass
  • try定义要执行的代码块
  • except Exception捕获给定的异常并在不引发错误的情况下处理它(除非要求这样做)
  • map对iterable的每个元素应用一个函数并返回结果。在

相关问题 更多 >