美文网首页
Python面试题: 判断IP地址是否合法

Python面试题: 判断IP地址是否合法

作者: 韩志超 | 来源:发表于2019-02-23 00:30 被阅读26次

题目: 给出一个字符串, 判断其是否是是合法的IP(IPv4)地址
思路

  1. 将字符串按"."分割成4段得到一个列表
  2. 逐个判断列表中的字符串是否数字格式并且在0~255之间, 是在新列表对应位置保存True, 不是保存False
  3. 判断新列表中是否有False

实现代码

#!/usr/bin/python3


def  is_ipv4(ip: str) -> bool:
    """
    检查ip是否合法
    :param: ip ip地址
    :returns: True 合法
              False 不合法
    """
    if all([x.isdigit() and 0 <= int(x) <= 255 for x in ip.split(".")]):
        return True
    else:
        return False

print(is_ipv4("192.168.1.2a0"))

之前使用map实现, Python3新版本中使用all + 列表生成器更直观

使用map函数的的部分代码:

if False in map(lambda x:True if x.isdigit() and 0<= int(x) <= 255 else False
                ,str.split(".")):
        return False
    else:
        return True

更多学习资料请加添加作者微信:lockingfree获取

相关文章

网友评论

      本文标题:Python面试题: 判断IP地址是否合法

      本文链接:https://www.haomeiwen.com/subject/utbtyqtx.html