在以下示例中:
foo = ['red', 'white', 'blue', 1, 2, 3]
其中:foo[0:6:1]
将打印foo中的所有元素。但是,foo[6:0:-1]
将省略第一个或第0个元素。
>>> foo[6:0:-1]
[3, 2, 1, 'blue', 'white']
我了解我可以使用foo.reverse()或foo [::-1]反向打印列表,但是我想了解为什么foo [6:0:-1]不能打印整个列表?
切片符号简而言之:
[ <first element to include> : <first element to exclude> : <step> ]
如果要在反转列表时包括第一个元素,则将中间元素留空,如下所示:
foo[::-1]
您还可以在这里找到有关Python切片的一些很好的信息:
Understanding slice notation
问题内容: 我一直在寻找一种向后打印字符串的方法,在Google上进行快速搜索后,我发现了这种方法: 假设是一个字符串变量。这将向后返回字符串: 谁能解释它的工作原理? 问题答案: 当然,是扩展切片运算符。它允许您采用子字符串。基本上,它通过指定要用作[begin:end:step]的元素来工作,并且适用于所有序列。关于它的两件事: 您可以省略一个或多个元素,并且做“正确的事情” 开始,结束和步骤
问题内容: 您如何在不进行更改的情况下,高效,优雅地从Python中提取项目3..6 : 在片符号似乎并没有与工作… 问题答案: import itertools output = list(itertools.islice(q, 3, 7)) 例如: 与到目前为止发布的其他解决方案相比,这应该更有效。证明?
问题内容: 为什么不起作用? 问题答案: 创建所选子列表的副本,该副本由反转。这不会更改原始列表。切片Python列表始终会创建副本-您可以使用 复制整个列表。
问题内容: 如何在Go中反转任意切片()?我宁愿不必编写和使用。有没有简单的内置方法来做到这一点? 问题答案: 没有一个简单的,内置的用于反转接口{}的部分。您可以编写一个for循环来做到这一点: Go 1.8中引入的reflect.Swapper函数可用于编写通用的反转函数: 游乐场的例子
问题内容: 我想将字符串切片转换为指向字符串的指针切片 %!p(string = a)=>字符串 %!p(string = b)=>字符串 %!p(string = c)=>字符串 [0xc42000e1d0 0xc42000e1d0 0xc42000e1d0] 据我了解, 我的变量似乎是一个字符串,而不是指向字符串的指针。 因此应从迭代时复制。 显然我不正确,因为地址仍然相同。如果值不是指针,该
问题内容: 给出清单 您可以使用诸如 但是,我想基于代码中其他位置设置的变量来执行此操作。我可以很容易地做到这一点 但是,我该如何为另一个做呢?我尝试用列表建立索引: 但这是行不通的。我也尝试过使用字符串: 但这也不起作用。 这可能吗? 问题答案: 那是为了: 与使用相同。