在字符串中执行 IP 反转

performing IP reversing in string

我正在编写执行字符串 IP reversing 的代码。

我做了同样的代码如下:

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)

输出:

3.2.1.10

你可以这样试试,

>>> '.'.join(ip.split('.')[::-1])
'3.2.1.10'

函数中:

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