Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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,如果我想从一个单词中提取一个子字符串,从末尾开始,到存储在变量中的索引,该怎么办 单词[4:0:-1]不包含第一个字母,但单词[4::-1]包含第一个字母。如果我用一个名为“a”的变量来确定最后一个字母,该怎么办。只有将“a”设置为“无”才有可能吗?如果您想要最后一个字母,您根本不需要它,请按照您的示例执行以下操作: word = "Hello" a = word[4:0:-1] a = a[:1] a => 'o' 但你正在扭转局面。。。根本没有必要 如果我用一个叫做“a”

如果我想从一个单词中提取一个子字符串,从末尾开始,到存储在变量中的索引,该怎么办


单词[4:0:-1]不包含第一个字母,但单词[4::-1]包含第一个字母。如果我用一个名为“a”的变量来确定最后一个字母,该怎么办。只有将“a”设置为“无”才有可能吗?

如果您想要最后一个字母,您根本不需要它,请按照您的示例执行以下操作:

word = "Hello"
a = word[4:0:-1]
a = a[:1]



   a
=> 'o'
但你正在扭转局面。。。根本没有必要

如果我用一个叫做“a”的变量来确定最后一个字母呢

那你根本不需要倒车。这将有助于:

a = word[-1]

我猜OP意味着索引存储在变量a中

在这种情况下,他可以这样做:

a=0
word[4:(None if a==-1 else a):-1]
def reverse_string(s:str, include_first_lett=True) -> str:
或者更一般地说:

word="Konichiwa"
a=0
word[len(word):(None if a==-1 else a): -1]

摘自你的评论:

我希望能够选择我想要的是“奥利”还是“奥利”

我假设您想要一个带有签名的函数,比如:

a=0
word[4:(None if a==-1 else a):-1]
def reverse_string(s:str, include_first_lett=True) -> str:
所以,只要做:

def reverse_string(s:str, include_first_lett=True) -> str:
    end_idx = None if include_first_lett else 0
    return s[:end_idx:-1]

    # or more verbosely
    # if include_first_lett:
    #     return s[::-1]
    # else:
    #     return s[:0:-1]
    #
    # or EVEN more verbosely, but more readable to someone who hasn't spent
    #   too long memorizing the slicing syntax...
    # if include_first_lett:
    #     return s[::-1]
    # else:
    #     return (s[1:])[::-1] 


>>> reverse_string("Hello")
'olleH'
>>> reverse_string("Hello", False)
'olle'
>>>

谢谢分享,我觉得这是一个奇怪的问题,相反的是没有必要的。漂亮的视图最后一个字母,我是指原始字符串中的第一个字母,输出中的最后一个字母。如果字符串是“Hello”,我希望能够选择是要“olle”还是“olleH”。我认为应该是“>=0”,因为word[:0:-1]返回除最后一个字母以外的所有字符,word[:None:-1]也包括最后一个字母。没错,迪玛。这就是我发布未经测试的代码所得到的。更新后的版本应该很好。我想我应该使用:[4:(如果a==-1,则为None,否则为a):-1],这样索引就与Python中的索引相同,并且-1是切片“应该”的结尾。