一道大厂测开面试题
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)
个人观点:
- 应避免使用lambda,提高代码可读性
- 使用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 解答吗?