list1 = ["Noki a"]
print (list1[0:3]) #gives ["Noki a"] as output.
print (list1[1:3]) #gives [] empty list as ouput.
我不明白这实际上是如何运作的。当列表项中存在字符串的字母之间存在空格时,需要解释列表实际工作方式。
答案 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>