例如,假设我有两个字符串:
我们有字符串 hello-world 和字符串 world。
我想创建一个名为 flip(str, arg) 的函数,它基本上接受字符串,并“翻转”“arg”前后的字符(如果有的话)。
所以 hello-world 传递给 flip("hello-world", "-") 会变成 world-hello 和 flip("world", "-") 仍然是 world。
一个示例实现如下,但我想知道是否有库函数或其他东西(我只需要在一个位置,制作一个函数似乎不对)。我似乎找不到我要找的东西。
def flip(s, arg):
if arg not in s:
return s
index = s.find(arg)
return s[index+1:] + arg + s[:index]
请您参考如下方法:
您可以使用str.partition,然后反转拆分并合并:
def flip(s, arg):
return ''.join(s.partition(arg)[::-1])
flip('hello-world', '-')
# 'world-hello'
flip('world', '-')
# 'world'
请注意,如果字符串多次出现 arg,则字符串仅根据第一个进行分区。
flip("hello-my-world", '-')
# 'my-world-hello'
如果你想要一个完整的翻转(反转),你可以考虑 str.split 和 str.join:
def flip2(s, arg):
return arg.join(s.split(arg)[::-1])
flip2("hello-my-world", '-')
# 'world-my-hello'
