python:验证条件和引发异常的最佳方法

python:验证条件和引发异常的最佳方法,第1张

概述嗨 我必须验证一个向量是否包含全0或1,如果没有引发异常: def assert_all_zero_or_one(vector): if set(vector)=={0}: return 0 if set(vector)=={1}: return 1 raise TypeError 有了这个优点 assert_all_zero_or_one([1,1,1]) # retur
我必须验证一个向量是否包含全0或1,如果没有引发异常:

def assert_all_zero_or_one(vector):    if set(vector)=={0}: return 0    if set(vector)=={1}: return 1    raise TypeError

有了这个优点

assert_all_zero_or_one([1,1,1]) # return 1assert_all_zero_or_one([0,0]) # return 0assert_all_zero_or_one([1,1]) # raise TypeError

我不喜欢这个解决方案..用python有一个最好的方法吗?

解决方法
def allOneOf(items,IDs):    first = items[0]    if first in IDs and all(i==first for i in items):        return first    else:        raise TypeError()assert_all_zero_or_one = (lambda vector: allOneOf(vector,set([0,1])))
总结

以上是内存溢出为你收集整理的python:验证条件和引发异常的最佳方法全部内容,希望文章能够帮你解决python:验证条件和引发异常的最佳方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1194504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存