你只需要检查你想要的索引是否在0的范围和列表的长度,像这样

if 0 <= index < len(list):

实际上是内部评估

if (0 <= index) and (index < len(list)):

因此,该条件检查索引是否在[0,列表的长度]范围内.

注意:Python支持负数索引.引用Python documentation,

If i or j is negative, the index is relative to the end of the string: len(s) + i or len(s) + j is substituted. But note that -0 is still 0.

这意味着每当使用负数索引时,该值将被添加到列表的长度,并将使用结果.所以,列表[-1]会给你元素列表[-1 len(list)].

所以,如果你想允许负的索引,那么你可以简单地检查索引是否不超过列表的长度,像这样

if index < len(list):

另一种方法是,除了IndexError,像这样

a = []

try:

a[0]

except IndexError:

return False

return True

当您尝试访问无效索引的元素时,会引发IndexError.所以这个方法有效.

注意:您在问题中提到的方法有问题.

if not mylist[1]:

让我们说1是mylist的有效索引,如果它返回一个Falsy value.然后不会否定它,所以if条件将被评估为Truthy.所以,它将返回False,即使一个元素实际存在于列表中.

python列表索引负数_python – 如何检查列表索引是否存在?相关推荐

  1. python字典和集合对象可以进行索引操作_python字典和列表的高级应用

    1.将序列分解为单独的变量 1.1问题 包含n个元素的元组或列表.字符串.文件.迭代器.生成器,将它分解为n个变量 1.2方案 直接通过赋值操作 要求:变量个数要等于元素个数 当执行分解操作时,有时需 ...

  2. python列表怎么创建_python怎么创建列表

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  3. python元祖用法_Python序列(列表list和元组tuple)用法完全攻略

    所谓序列,指的是一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员. Python 的常见序列类型包括字符串.列表和元组.前一章介绍过的字符串,其实就是一种常 ...

  4. python元组和列表逆序_Python元组和列表你真的用对了吗?

    对于Python来说,列表可谓是用到的非常多的数据结构之一了,但是Python还有另外一个数据结构叫做元组,直观表现来说,元组就像是不可变的列表,那么问题来了,元组和列表的区别是什么呢?什么时候应该用 ...

  5. python列表取出元素_python中的列表,添加元素,获取元素,删除元素,列表分片,常用操作符...

    一. 创建列表,分为创建普通列表,混合列表,和空列表.其中混合列表是指string,int, float等都可以写在同一个列表里,空列表是指列表可以为空 二. 在列表添加成员方法 1. append( ...

  6. python文件内容倒序_python实现对列表中的元素进行倒序打印

    1.案例要求: """有列表["a", "d", "f", "j","z&quo ...

  7. python元组和列表逆序_Python容器:列表与元组

    欢迎关注「issnail」 "一起学习,一起成长!" 与字符串不同的是,元组和列表并不要求所有元素的种类相同,每个元素都可以是任何python类型的对象.列表可变,赋值后可插入或删 ...

  8. python 定义list长度_python中list列表的高级函数 python如何统计列表的长度

    在python的函数中,如何将列表list的一部分作为函比如定义个函数,想实现的功能就是将列表a的后半部分(['c','d'])传入后面paraTestList(a[2:])中,括号里面的a[2:]命 ...

  9. python最新版本 效率_Python:迭代列表与dict项目效率

    这取决于您使用的是哪个版本的Python.在Python 2中,some_dict.items()创建一个新列表,这会占用一些额外的时间并占用额外的内存.另一方面,一旦创建了列表,它就是一个列表,因此 ...

最新文章

  1. JAVA线程六种状态_Java:线程的六种状态及转化
  2. 为什么单例模式是邪恶的(译)
  3. 关于jqGrid动态改变列的解决方案
  4. git 生成多个patch_git生成Patch和打Patch
  5. 181215每日一句
  6. 长期大量收售通信 联通 移动 电信 工程各种型号光缆
  7. K线形态识别—三K线之卖出型三日K线组合
  8. 下载测试视频网站分享
  9. 风光过后就崩溃,互联网公司让你心好累
  10. SIM7600CE 电源设计指南
  11. 对于一个大数据应用项目/产品的落地,可以大致总结为五大步骤阶段?
  12. java中utp_5类UTP比3类UTP扭矩_______。
  13. nginx 配置网站通用的伪静态代码
  14. C++ STL set容器
  15. 小型温控系统c语言程序,pid算法温度控制c语言程序 - 全文
  16. 到底是上班舒服还是上学舒服!上班一个月的感受!
  17. 大数据的一些基本概念
  18. MOPSO算法总结,包括OMOPSO,SMPSO,dMOPSO,CMPSO,DDMOPSO,MMOPSO等
  19. JZOJ1758. 过河
  20. 基于web的电影订票系统/电影购票网站

热门文章

  1. 使用代码将指定的product加入新建的transaction
  2. SAP CRM系统订单模型的设计与实现
  3. 一步步在Docker里运行Web应用
  4. 为什么ABAP整型的1转成string之后,后面会多个空格 1
  5. python找零钱代码_Python实现的一个找零钱的小程序代码分享
  6. python初学者代码示例_python实现手势识别的示例(入门)
  7. stringbuffer mysql_javascript制作sql转换为stringBuffer的小工具
  8. 净水器怎么放_家中安装净水器后,水却更脏了!这几个常识性问题你不得不知道...
  9. java system.in 输入不回显_Java安全之URLDNS链
  10. 二叉树的最大深度Python解法