Skip to main content
 首页 » 编程设计

python之是否可以将 Python "around"中的字符串翻转一个字符

2025年05月04日16rubylouvre

例如,假设我有两个字符串:

我们有字符串 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'