Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类切片中的Python列表不起作用_Python_List_Slice - Fatal编程技术网

类切片中的Python列表不起作用

类切片中的Python列表不起作用,python,list,slice,Python,List,Slice,我过去一直在使用Python,把它放在一边,现在我很高兴能回来。我试图访问列表中的前两个元素,但我一直只得到第一个元素,而不是第二个元素 以下内容来自Python shell。当j=I+1时,当我使用[I:j]时,我只得到第一个元素。这是正确的行为吗 >>> p=['ho','he','hoo'] >>> p ['ho', 'he', 'hoo'] >>> p[0:1] ['ho'] >>> p[1:0] [] >&g

我过去一直在使用Python,把它放在一边,现在我很高兴能回来。我试图访问列表中的前两个元素,但我一直只得到第一个元素,而不是第二个元素

以下内容来自Python shell。当j=I+1时,当我使用[I:j]时,我只得到第一个元素。这是正确的行为吗

>>> p=['ho','he','hoo']
>>> p
['ho', 'he', 'hoo']
>>> p[0:1]
['ho']
>>> p[1:0]
[]
>>> p[0:1]
['ho']
>>> p[1]
'he'
>>> p[0:3]
['ho', 'he', 'hoo']
>>> p[0:2]
['ho', 'he']
 >>> p[0:3]
['ho', 'he', 'hoo']
>>> p[1:2]
['he']
我使用的Python版本是:

Python 3.2R32:884452011年2月21日21:11:06 [GCC 4.6.0 20110212红帽4.6.0-0.7]在linux2上

Linux是Centos,内核是

Linux Fedora 2.6.41.4-1.fc15.x86_64 1


是的,这是正确的行为。[i:i+1]将给您一个项目。我给你五个。这是有意为之的,原因就是你对它的理解很清楚,因为你可以很快地看到你得到了多少东西,而无需进一步思考。

是的,这是正确的行为。[i:i+1]将给您一个项目。我给你五个。这是有意为之的,原因就是你可以清楚地看到这一点,因为你不需要进一步思考就可以很快看到你得到了多少项。

在p[i:j]中,j是非包容性的:你将选择从i到j-1的所有元素。

在p[i:j]中,j是非包容性的:您将选择从i到j-1的所有元素。

是的,这是正确的行为。从:

从i到j的s切片定义为具有
索引k,这样i是的,这是正确的行为。从:

从i到j的s切片定义为具有
索引k,以便iPython切片使用包含的开始索引和独占的结束索引。有关更多详细信息,请参阅。因此:

>>> list = [0, 1, 2, 3, 4]
>>> i = 2
>>> j = 3
>>> # remember that lists are zero based
>>> print list[i:j] # includes 2 and up to, but not 3
[2]
>>> print list[i:j+1] # includes 2 and up to, but not 3+1
[2,3]

Python切片使用包含的开始索引和独占的结束索引。有关更多详细信息,请参阅。因此:

>>> list = [0, 1, 2, 3, 4]
>>> i = 2
>>> j = 3
>>> # remember that lists are zero based
>>> print list[i:j] # includes 2 and up to, but not 3
[2]
>>> print list[i:j+1] # includes 2 and up to, but not 3+1
[2,3]

这是正确的行为吗?对有什么让你困惑的?你能开始你的假设或推理吗?你应该复习一下切片语法。切片包括起始索引,但不包括目标索引。所以myList[0:2]得到了位置0和1。如果从0开始,可以省略它,因此myList[:2]类似。Python中的切片是您想要的第一项,后面是您不想要的第一项。这是正确的行为吗?对有什么让你困惑的?你能开始你的假设或推理吗?你应该复习一下切片语法。切片包括起始索引,但不包括目标索引。所以myList[0:2]得到了位置0和1。如果从0开始,可以省略它,因此myList[:2]类似。Python中的切片是您想要的第一项,后面是您不想要的第一项。谢谢。我是一名PERL和技能脚本编写员。在这些语言中不是这样的,我知道。Python击败其他语言的另一个细节。谢谢。我是一名PERL和技能脚本编写员。在这些语言中不是这样的,我知道。Python击败其他语言的另一个细节。