变量设置向后子串的结束不能是一个数字?

时间:2017-05-09 01:52:26

标签: python

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

字[4:0:-1]不包括第一个字母,但字[4 :: - 1]确实包含第一个字母。如果我使用名为" a"的变量确定最终字母,该怎么办?是否只能通过设置" a"没有?

4 个答案:

答案 0 :(得分:1)

  

如果我使用名为“a”

的变量确定最终字母,该怎么办?

然后你根本不需要倒车。这样做:

a = word[-1]

答案 1 :(得分:1)

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

在这种情况下,他可以做类似的事情:

a=0
word[4:(None if a==-1 else a):-1]

或更一般地说:

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

答案 2 :(得分:1)

取自你的评论:

  

我希望能够选择是否需要“olle”或“olleH”

我假设你想要一个带有签名的函数:

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'
>>>

答案 3 :(得分:0)

如果你想要最后一封信,你根本不需要无,根据你的例子,这样做:

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



   a
=> 'o'

但是你正在扭转字符串......根本没有必要