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

时间:2017-07-03 13:42:14

标签: python

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

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

我不明白这实际上是如何运作的。当列表项中存在字符串的字母之间存在空格时,需要解释列表实际工作方式。

3 个答案:

答案 0 :(得分:4)

这与字符串中包含的空格无关。您的列表在索引0处只有一个项目(字符串"Noki a"),因此切片[1,3]为空,因为切片排除索引0。

如果要切割字符串而不是列表,则应首先索引字符串,然后切片:

list1[0][1:3]

答案 1 :(得分:1)

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

如果您打算切片部分字符串,请从列表中删除字符串

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

或列表中的索引元素[0](它包含的字符串)然后切片结果

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

答案 2 :(得分:0)

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

list1 = ["N", "o", "k", "i", " ", "a"]
print (list1[0:3])
print (list1[1:3])

您目前在列表中有一个项目,因此始终是第0个项目,意味着从0-3开始打印出零项目“Noki a”,但从1-3开始它不打印出来。< / p>