如果我想从一个单词中取一个子字符串,从结尾处开始并转到存储在变量中的索引,该怎么办?
字[4:0:-1]不包括第一个字母,但字[4 :: - 1]确实包含第一个字母。如果我使用名为" a"的变量确定最终字母,该怎么办?是否只能通过设置" a"没有?
答案 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'
但是你正在扭转字符串......根本没有必要