当 z 为负时,Python 子字符串对 x,y 有什么默认值? 这与 x,y 为负数无关

问题描述

对于 Python 子字符串,当 z 为负时,我对 x,y 的默认值感到困惑

下一行:x:y 的默认值理解起来没有问题,因为 z 是正数

alpha = "abcdef"
print(alpha[0:6:1])  #abcdef
print(alpha[::1])      #abcdef    defaults for x,y change this to [0:6:1]

但是当更改为负 z 时,我感到很困惑。我认为 [::z] 会变成 [0:6:z],而不管 z 是 +1 还是 -1。但是当 z 为 pos 或 neg 时,x,y 的默认值似乎不同

print(alpha[0:6:-1])   # (no defaults example) prints nothing - OK
print(alpha[::1])      # abcdef    default [::1] becomes [0:6:1] - OK
print(alpha[::-1])     # fedcba    default [::-1] not becomes [0:6:-1] - why different x,y defaults?

对建议重复的回复

我不认为这是重复的 - 另一个问题是关于负 x,y。这个问题是关于 x,y defaults 当 z 为负时。此问题涉及双冒号语法 - 未出现在“重复问题”参考中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)