- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我知道 somelist[len(somelist)]
无法访问定义列表之外的索引 - 这是有道理的。
但是为什么 Python 允许你做 somelist[len(somelist):]
?
我什至读过 somelist[len(somelist):] = [1]
等同于 somelist.append(1)
但为什么切片符号会改变索引“len(somelist)”仍然在列表范围之外的事实?
最佳答案
这是来自 documentation 的内容.任何可迭代对象的切片都有特定的规则;特别值得注意的是#4,强调我的:
The slice of
s
fromi
toj
is defined as the sequence of items with indexk
such thati <= k < j
. Ifi
orj
is greater thanlen(s)
, uselen(s)
. Ifi
is omitted orNone
, use0
. Ifj
is omitted orNone
, uselen(s)
. Ifi
is greater than or equal toj
, the slice is empty.
关于python - 为什么 somelist[len(somelist)] 生成一个 IndexError 而不是 somelist[len(somelist) :]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15470346/
我知道 somelist[len(somelist)] 无法访问定义列表之外的索引 - 这是有道理的。 但是为什么 Python 允许你做 somelist[len(somelist):]? 我什至读
我正在使用 os.walk() 过滤目录组件: exclude_dirs = ['a', 'b'] for root, dirs, files in os.walk(mytopdir): dirs
显然有很多方法可以迭代一个集合。想知道是否存在任何差异,或者为什么您会使用一种方式而不是另一种方式。 第一种: List someList = foreach(string s in someLis
我有时会遇到这种打印或返回列表的方式 - someList[:]。我不明白人们为什么要使用它,因为它会返回完整列表。 为什么不简单地写 someList,不带 [:] 部分? 最佳答案 [:] 创建一
在 Angular 中进行模板化时,有没有办法在显示列表长度之前过滤列表?例如,我可以做类似 {{category.products.where(p => p.IsActive).length}} 的
我有一个用于 JAVA 项目的 TestNG 测试套件,并且在那里我有一个 @Test(DataProvider="ListOfObjects") 注释方法。它提供了大约 20 行数据的方法。(因此该
如何转换这个函数: void MyFunc () { foreach (var k in problems.Keys) { var list = new Observa
我是一名优秀的程序员,十分优秀!