and or判别

and 和 or涉及到短路运算,python把0,‘‘,none看做false,其余是true,

对于a and b,若a是true则,返回b,若a是false则返回a(因为a是true还需要判断b,a是false则不再需要判断b)

对a or b ,如a是true则返回a,若a是false则返回b

def average(*args):
    return len(args) and sum(args)/float(len(args)) or 0.0

print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)

此题求平均数,就是很好的逻辑

注:*args代表可变参数

另外if也是短路运算

时间: 2024-10-06 14:19:19

and or判别的相关文章

判别模型和生成模型

我们有时称判别模型求的是条件概率,生成模型求的是联合概率. 常见的判别模型有线性回归.对数回归.线性判别分析.支持向量机.boosting.条件随机场.神经网络等. 常见的生产模型有隐马尔科夫模型.朴素贝叶斯模型.高斯混合模型.LDA.Restricted Boltzmann Machine等. 判别方法:由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型.基本思想是有限样本条件下建立判别函数,不考虑样本的产生模型,直接研究预测模型. 生成方法:由数据学习联

关于fisher判别的一点理解

最近一个朋友问这方面的一些问题,其实之前也就很粗略的看了下fisher,真正帮别人解答问题的时候才知道原来自己也有很多东西不懂.下面小结下自己对fisher判别的理解: 其实fisher和PCA差不多,熟悉PCA的人都知道,PCA其实就是在寻找一个子空间.这个空间怎么来的呢,先求协方差矩阵,然后求这个协方差矩阵的特征空间(特征向量对应的空间),选取最大的特征值对应的特征向量组成特征子空间(比如说k个,相当于这个子空间有k维,每一维代表一个特征,这k个特征基本上可以涵盖90%以上的信息).那么我们

C语言判别输入的东东

梗概:现在很多用C语言写出来的作业,都是用户输入后,电脑对应操作的.其实这样有没有漏洞呢? 这样的管理系统,相信大家也不陌生,我们这里不是谈它的功能和怎样实现..我们就谈谈最后一行.[输入序号].其实很简单,switch语句,0-6中用case包括就OK了..最后来个default,一切不就好了吗? 是的,很多人会对着软件提示按..但我假设一下:电脑键盘上那么多按钮,一不小心按了字母怎么办?哈哈..很多人会说:那就default语句执行咯.但事实上是不是呢? 我亲自试了试,吓尿了.你猜怎样?整个

C语言判别输入东东

梗概:现在很多用C语言写出来的作业,都是用户输入后,电脑对应操作的.其实这样有没有漏洞呢? 这样的管理系统,相信大家也不陌生,我们这里不是谈它的功能和怎样实现..我们就谈谈最后一行.[输入序号].其实很简单,switch语句,0-6中用case包括就OK了..最后来个default,一切不就好了吗? 是的,很多人会对着软件提示按..但我假设一下:电脑键盘上那么多按钮,一不小心按了字母怎么办?哈哈..很多人会说:那就default语句执行咯.但事实上是不是呢? 我亲自试了试,吓尿了.你猜怎样?整个

get/post提交怎么判别如何使用

引用: get/post方式: get方式: A. 表单默认提交的方式,浏览器地址栏直接输入 一个地址,使用链接访问. B. 表单中的数据会添加到请求行,放置的数据有限, 而且数据会直接在浏览器的地址栏显示,不安全. C. get方式,一般不适合用于浏览器向服务器提交 数据.适用于请求某个资源. post方式: A.对表单,设置了method="post". B.表单中的数据会添加到实体内容里,可以存放大量 数据.相对于get方式,会安全一些. (不管哪种方式,都不是绝对安全的,因为浏

生成模型和判别模型(转)

引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X).监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别为生成模型(generative model)和判别模型(discriminative model). 决策函数和条件概率分布 决策函数Y=f(X) 决策函数Y=f(X)

ORACLE判别字段是否包含中文

在ORACLE数据库中如何查找那些字段里面包含中文的数据记录呢,有时候就是有这样的特殊需求,下面整理了一些判别字段中包含中文记录的几个方法 1:使用ASCIISTR函数判别 ASCIISTR函数说明: ASCIISTR返回字符的ASCII形式的字符串.非ASCII的字符被转化为\xxxx的形式. 使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有\xxx这样的字符.且简体汉字的编码范围是B0A1 - F7FE.如下例子所示 CREAT

生成模型和判别模型

对于输入x,类别标签Y: 判别模型:由数据直接学习决策面Y=f(x)或条件概率P(Y|x)作为预测模型 生成模型:由数据学习联合概率分布P(x,Y),然后求出条件概率P(Y|x)作为预测模型 模型区别: 判别模型寻找不同类别之间的分离面,反映不同类别之间的差异. 生成模型通过统计反映同类数据的相似度. 模型的优点和缺点: 判别模型主要缺点: 1,不能反映数据本身的特征 判别模型主要优点: 1,模型简单,容易学习. 2,分类性能好,分类边界灵活. 生成模型的主要缺点: 1,模型复杂 生成模型主要优

Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯

(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解空间中寻找一条直线从而把两种类别的样例分开,对于新的样例,只要判断在直线的哪一侧即可:这种直接对问题求解的方法可以称为判别学习方法. 而生成学习算法则是对两个类别分别进行建模,用新的样例去匹配两个模板,匹配度较高的作为新样例的类别,比如分辨大象(y=1)和狗(y=0),首先,观察大象,然后建立一个大

生成模型与判别模型

摘要: 1.定义 2.常见算法 3.区别 4.优缺点 内容: 1.定义 1.1 生成模型: 在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下.它给观测值和标注数据序列指定一个联合概率分布(joint probability distribution).在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布.条件概率分布可以由生成模型根据贝叶斯准则形成  (参考自:中文wiki) 1