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

Python 为什么按片访问可以工作,但不能工作?

Python 为什么按片访问可以工作,但不能工作?,python,python-3.x,Python,Python 3.x,我有以下代码: my_name='Tlaloc ES' 我正在尝试切片,第一次尝试是用这个字谜 my_name[-1:-(len(my_name)+1):-1] 该报告: “SE colalT” 然后位置-(len(my_name)+1)表示'T',但尝试使用下一个切片时: my_name[-(len(my_name)+1)]此返回错误: 字符串索引超出范围 但是使用my_name[-(len(my_name))]not,这个返回T 答案是为什么对于getT,在某些情况下我需要加一,而在另一些情

我有以下代码:

my_name='Tlaloc ES'

我正在尝试切片,第一次尝试是用这个字谜

my_name[-1:-(len(my_name)+1):-1]

该报告:

“SE colalT”

然后位置
-(len(my_name)+1)
表示
'T'
,但尝试使用下一个切片时:

my_name[-(len(my_name)+1)]
此返回错误:

字符串索引超出范围

但是使用
my_name[-(len(my_name))]
not,这个返回
T

答案是为什么对于get
T
,在某些情况下我需要加一,而在另一些情况下我不需要

谢谢

-(len(我的名字)+1)
将在1前关闭

string = 'word'
len(string) => 4
string[-len(string)] = 'w'
-(len(string)+1) => -5
您不能在本机python中索引超出边界
第一行工作的原因是,您的端点可能在边界之外,迭代器到达端点时将停止(len(my_name)+1)将关闭1

string = 'word'
len(string) => 4
string[-len(string)] = 'w'
-(len(string)+1) => -5
您不能在本机python中索引超出边界

第一行工作的原因是因为您的端点可能在您的边界之外,迭代器在到达端点时会停止。原因是您创建的切片(
-1:-(len(…
)创建一个从-1到-10的生成器,从技术上讲,它是从-1到-9的数字(-10不包括在内)。因此使用它作为索引选项(
len(my_name)+1
)表示它超出了
my_name
的长度。删除+1,它应该可以工作原因是您创建的切片(
-1:-(len(…
)创建一个从-1到-10的生成器,从技术上讲,它是从-1到-9(-10)的数字。因此使用它作为索引选项(
len(my_name)+1
)表示它超出了
my_name
的长度。删除+1,它应该可以工作