Python 在字符串中执行IP反转

Python 在字符串中执行IP反转,python,regex,reverse,Python,Regex,Reverse,我正在编写代码,用于执行字符串的IP反转 我已经完成了如下代码: def reverse(ip): if len(ip) <= 1: return ip return reverse(ip[1:]) + ip[0] ip = '10.1.2.3' print reverse(ip) 3.2.1.01 3.2.1.10 预期输出:相反,我需要的结果应显示如下: def reverse(ip): if le

我正在编写代码,用于执行字符串的
IP反转

我已经完成了如下代码:

def reverse(ip):
        if len(ip) <= 1:
                return ip
        return reverse(ip[1:]) + ip[0]

ip = '10.1.2.3'
print reverse(ip)
3.2.1.01
3.2.1.10
预期输出:相反,我需要的结果应显示如下:

def reverse(ip):
        if len(ip) <= 1:
                return ip
        return reverse(ip[1:]) + ip[0]

ip = '10.1.2.3'
print reverse(ip)
3.2.1.01
3.2.1.10

请有人帮我解决这个问题。

python坚持字符串是字符数组,这让你大吃一惊。把它们转换成数字,然后把它们颠倒过来怎么样

>>> numbers = [int(v) for v in ip.split('.')]
>>> numbers.reverse()
>>> ip_reversed = '.'.join([str(v) for v in numbers])
>>> ip_reversed
'3.2.1.10'
您可以尝试以下方法:

def reverse(ip):
        if len(ip) <= 1:
                return ip
        l = ip.split('.')
        return '.'.join(l[::-1])

ip = '10.1.2.3'
print reverse(ip)
你可以这样试试

>>> '.'.join(ip.split('.')[::-1])
'3.2.1.10'
在功能上:

def reverse(ip):
   if len(ip) <= 1:
      return ip
   return '.'.join(ip.split('.')[::-1])
def倒档(ip):

如果len(ip)在点上分割,则反转列表并加入。如上所述,
返回'。.join(ip.split('.)[:-1])
或只是
返回re.sub(r“^(\d+)\(\d+)\(\d+)(\d+),(\d+)”,r“\4.\3.\2.\1”,ip)
。很好,感谢您的响应,感谢您不使用的任何原因:)哦,太好了,我总是忘了切片反转!干得好。