一道大厂测开面试题

Posted df888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道大厂测开面试题相关的知识,希望对你有一定的参考价值。

技术图片

这是网上看到的题,非本人。

以下是我给出的答案,

import re

s = "192.0.0.1?!289.0.0.1!0.0.0.0!192.163.10.20?192.0.0.1"
ips = re.split(r"?!|!|?", s)


def lastOne(i):
    return i.split('.')[-1]


ips.sort(key=lastOne)
print(ips)

个人观点:

  1. 应避免使用lambda,提高代码可读性
  2. 使用lambda之前,看看operator的itemgetter, attrgetter, methodcaller
# itemgetter
key=lambda row: row[-1]
key=itemgetter(-1)  # 推荐
key=lambda row: row['city']
key=itemgetter('city')  # 推荐
# attrgetter
key=lambda p: p.quantity
key=attrgetter('quantity')  # 推荐
# methodcaller
key=lambda s: s.casefold()
key=methodcaller('casefold')  # 推荐

以上是关于一道大厂测开面试题的主要内容,如果未能解决你的问题,请参考以下文章

我惊了!字节跳动测开面试题竟然这么简单......

测试开发实战|一道有趣的大厂测试面试题,你能用 Python or Shell 解答吗?

从一道面试题谈谈一线大厂码农应该具备的基本能力

python高级算法与数据结构:“你如何压缩一部英文著作”,一道来自大厂的真实面试题

一道面试题目

每天一道大厂SQL题Day01