我必须验证一个向量是否包含全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:验证条件和引发异常的最佳方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)