Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 - Fatal编程技术网

当列表项值之间有空格时,Python中的列表是如何工作的

当列表项值之间有空格时,Python中的列表是如何工作的,python,Python,我不明白这到底是怎么回事。需要解释列表项中字符串的字母之间有空格时列表实际如何工作。这与字符串中包含的空格无关。您的列表在索引0处只有一项,即字符串Noki a,因此切片[1,3]为空,因为切片不包括索引0 如果要对字符串而不是列表进行切片,应首先对字符串编制索引,然后进行切片: list1 = ["Noki a"] print (list1[0:3]) #gives ["Noki a"] as output. print (list1[1:3]) #gives [] empty list

我不明白这到底是怎么回事。需要解释列表项中字符串的字母之间有空格时列表实际如何工作。

这与字符串中包含的空格无关。您的列表在索引0处只有一项,即字符串Noki a,因此切片[1,3]为空,因为切片不包括索引0

如果要对字符串而不是列表进行切片,应首先对字符串编制索引,然后进行切片:

list1 = ["Noki a"]
print (list1[0:3])  #gives ["Noki a"] as output.

print (list1[1:3])  #gives [] empty list as ouput.

您的列表只有一个元素,即Noki a。因此,基于切片表示法,任何包含[0]的切片都将具有该元素,否则它将为空

如果您打算分割字符串的一部分,请从列表中删除该字符串

list1[0][1:3]
或列表中的索引元素[0],该元素是它所包含的字符串,然后对该结果进行切片

>>> s = "Noki a"
>>> s[0:3]
'Nok'
>>> s[1:3]
'ok'

要获得实际输出字母的结果,请执行以下操作:

>>> list1 = ["Noki a"]
>>> list1[0][0:3]
'Nok'
>>> list1[0][1:3]
'ok'

您当前的列表中有一个项目,因此它始终是第0个项目,这意味着从0-3打印出零个项目Noki a,但从1-3它不会打印出来。

或者向后退一步,甚至不用麻烦将字符串放入单个项目列表,只需将裸字符串切掉,不?不反对您的答案。您必须我对你的问题得到了很好的回答,但我想补充一点作为评论:为什么要费心把一个字符串放到列表中?你可以切分一个字符串。它不必在列表中。“Noki a”[0:3]给出“Nok”,而“Noki a”[1:3]给出“ok”。
list1 = ["N", "o", "k", "i", " ", "a"]
print (list1[0:3])
print (list1[1:3])