`
chroya
  • 浏览: 661532 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Python的三元操作

阅读更多

    我写程序很喜欢用三元运算符,但是在python中居然不支持,有点郁闷,查了下资料,发现还是有解决方案的。


    比如,一个这样的函数:

function trans(v) {
		return (v==0)?1:v;
	}

    啧啧,三元运算符看着就是漂亮,不知道python为什么不支持。


   下面看一下python的解决方案一:

def trans(v):
		return 1 if v==0 else v
 

    也就是if else语句的简写形式,意思一看就明白,看起来还不错。   

   

   下面是解决方案二:

def trans(v):
		return v==0 and 1 or v

     用到了与或运算符的特性。


    解释一下:如果v等于0为true,则跟1做与运算,为true,则不进行后面的或运算,直接返回1;如果v等于0为false,则跟1做与运算,为false,继续进行或运算,返回v。

 

 

3
1
分享到:
评论
2 楼 jianpx 2010-08-15  
这样写虽然可以,但是考虑程序的可读性的话,还是用第一种比较好。
1 楼 bluky999 2010-08-05  
啊。。。 这也可以!

python里类似 return x if x>0 else -x 的语句,就是三元操作符啊 ! 因为这个语句已经非常明了易懂了,所以没有再增加对诸如 x==y?a:b这样的语法支持!

这个point在python的很多mailing list都讨论过了 呵呵 

相关推荐

    python基础教程:三元表达式 if for 构建List 进阶用法.pdf

    在这个基础教程中,我们将探讨Python中三元表达式、for循环以及构建List的进阶用法。 1. 三元表达式 虽然在提供的内容中没有直接提到三元表达式,但在Python中,三元表达式通常用于简洁地实现条件判断。它的形式是`...

    Python-利用pandas将excel中数据抽取以三元组形式加载到neo4j数据库中构建相关知识图谱

    在构建知识图谱的过程中,Python库Pandas和Neo4j的Python驱动Py2neo是强大的工具,...通过理解这些库的功能以及如何将数据转化为图谱结构,你可以构建出自己的知识图谱,从而支持数据分析、关系发现和复杂的查询操作。

    Python三元运算与lambda表达式实例解析

    在实际编程中,三元运算和lambda表达式常常用于简化代码,特别是在处理简单的逻辑判断和函数操作时。然而,需要注意的是,虽然它们提供了便利,但过度使用可能会使代码变得难以理解,因此在追求简洁的同时也要保持...

    Python-利用pandas将excel中数据抽取以三元组形式加载到neo4 j数据库中构建相关知识图谱

    Pandas是Python中用于数据分析的强大库,它提供了DataFrame对象,可以方便地读取和操作各种数据格式,包括Excel文件。使用`pandas.read_excel()`函数,我们可以轻松地将Excel文件加载到DataFrame中。 ```python ...

    python 三元运算符使用解析

    在Python中,三元运算符是一种简洁的条件赋值方式,可以用于替代传统的if-else语句。三元运算符在Python中的完整写法是 "val = 条件表达式True值 if 条件表达式 else 条件表达式False值"。这种运算符以简洁著称,...

    Python语言技巧之三元运算符使用介绍

    python不支持C/C++中的三元操作符 ?:,替代的方法是 …if… else…举例,用下面的语法实现求三个数的最小值。nD1 if nD1 < ( nD2 if nD2<nD3 else nD3) else (nD2 if nD2 < nD3 else nD3) python三元...

    python-的三元表达式.docx

    Python的三元表达式是语言中的一个重要特性,它提供了一种简洁的方式来进行条件判断和赋值操作。在Python中,三元表达式通常用于在一行代码内替代简单的if...else...结构,使得代码更加紧凑。其基本语法如下: ```...

    python-的三元表达式(1).docx

    Python的三元表达式是语言中的一个重要特性,它提供了一种简洁的方式来进行条件判断和赋值操作。在Python中,三元表达式通常用于在一行代码内完成原本需要if-else语句才能实现的功能,从而让代码更加紧凑、易于阅读...

    Python进阶教程 Python各知识领域高级操作教程 进阶操作教程 共26个章节 共103页.pdf

    6. **三元运算符**:Python中的条件表达式,类似于其他语言的三元运算符,可以简洁地完成条件判断并赋值。 7. **装饰器(Decorators)**:装饰器是Python的一种元编程技术,可以用来修改或增强函数、类的行为。理解...

    三元组表矩阵的运算:常见的三元组矩阵操作的Python实现

    三元组表示法是一种稀疏矩阵的存储方式,常用于只存储非零元素的坐标和值。它的格式通常为 (row, column, value),其中 row 和 column 是...下面是一些常见的三元组矩阵操作的Python实现,包括矩阵的创建、转置和加法。

    python提取文本中的三元组源码.zip

    标题中的"python提取文本中的三元组源码.zip"表明这是一个使用Python编写的程序,其主要功能是从文本中提取三元组。三元组通常在自然语言处理(NLP)中用于表示知识图谱,它由三个元素构成,如(subject, predicate, ...

    python简单的三元一次方程求解实例

    ### Python三元一次方程求解实例解析 #### 一、引言 在数学与编程领域,解决线性方程组问题是一项基本而重要的技能。本文将详细介绍如何使用Python语言来求解一个简单的三元一次方程组,并通过具体实例进行演示。...

    Python-爬取百度百科中文页面抽取三元组信息构建中文知识图谱

    本项目“Python-爬取百度百科中文页面抽取三元组信息构建中文知识图谱”聚焦于从网络资源中获取知识并组织成结构化的形式。首先,我们需要了解几个关键概念: 1. **Python爬虫**:Python提供了诸如BeautifulSoup、...

    python-元组的三元表达式.docx

    Python中的元组(Tuple)是不可变序列,这意味着一旦创建,就不能进行添加、删除或修改元素的操作。与其他数据类型如列表相比,元组在内存管理上更高效,并且因为其不可变性,常用于需要保证数据不变性的场景。元组...

    毕达哥拉斯三元组:Python中的毕达哥拉斯三元组

    在Jupyter Notebook中实现上述Python代码后,我们可以进行以下操作: 1. 分析生成的三元组,观察它们的规律,比如发现许多三元组是3, 4, 5的倍数,如6, 8, 10和9, 12, 15等。 2. 探讨不同边长之间的比例关系,如黄金...

    python3入门书籍免费-Python3基础教程(第2版)(慕课版).pdf

    此外,还涵盖了组合数据类型,如集合、列表、元组和字典,这些都是Python中常用的数据结构,掌握它们的操作和使用能提升编程效率。 控制流部分,讲解了程序的基本结构、分支结构(单分支、双分支、多分支和三元...

    python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了.pdf

    * Python 之三元表达式、生成式、生成器表达式 * Python 之面向过程编程思想与匿名函数及其应用 * Python 之内置函数 * Python 之函数递归与调用 * Python 之二分法 第九章:模块 * Python 之模块 * 软件开发的...

    python学习资料和课件,python教学课件,Python

    1. **列表(List)**: Python中最常用的数据结构之一,可以存储任意类型的元素,支持索引访问、切片、增删改查操作,以及列表推导式。 2. **数据结构的常用操作**: 如append()、extend()、insert()、remove()、pop...

Global site tag (gtag.js) - Google Analytics