python3的一些简单高级用法(未完待续)三元运算生成列表字典等if or 简化lambda 函数+filter 函数

三元运算

可以解决if else 行数过多问题

print(1 if 5>3 else 0)
print('yes' if 3<1 else 'no')
a = '中文' if 3>1 else '日文'
print(a)

result :

result.png

生成列表字典等

list = [i for i in range(1,10)]
print(list)
dict = {i : i for i in range(1,10)}
print(dict)

result :

result.png

if or 简化

n = 3
if n in [1,4,5,6] :
    print(n,'in list')
else:
    print(n,'not in list')

result :

result.png

lambda 函数

+

filter 函数

lambda

def f(x):
    return x**2

print f(4)

可以改写成

g = lambda x : x**2
print g(4)

filter 和 lambda的使用

task = filter(lambda t: t['id'] == task_id, tasks)

filter函数 在python3中由列表变成迭代器了,所以如果得到的结果直接输出就会成这样的结果

<filter object at 0x10f677b00>

如果还想弄成python2的list话,用上边用过的for方法

filter_list2 = [item for item in filter_list1]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

ASP.NET Web API的Controller是如何被创建的?

Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对...

45150
来自专栏Laoqi's Linux运维专列

sed命令扩展–转载

文本处理工具之二 sed命令详解 sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以...

31650
来自专栏懒人开发

AndroidStudio简单使用(二):左侧Structure

上面有说, 可以通过 Alt + 7 快捷键 调出来。 个人觉得, 这个对于查看代码结构,还是很方便的。直接可以看到代码的大体结构。 我们以 android...

37720
来自专栏小灰灰

Java并发之 volatile & synchronized & ThreadLocal 讲解

Java 之 volatile & synchronized & ThreadLocal 讲解 在并发编程中,基本上离不开这三个东西,如何实现多线程之间的数据...

28460
来自专栏蓝天

sed 命令+正则表达式

sed是一个非交互性性文本编辑器, 它编辑文件或标准输入导出的文件拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道文件。sed可以随意编辑...

14720
来自专栏余林丰

Java线程安全性中的对象发布和逸出

发布(Publish)和逸出(Escape)这两个概念倒是第一次听说,不过它在实际当中却十分常见,这和Java并发编程的线程安全性就很大的关系。 什么是发布?简...

26490
来自专栏C语言C++游戏编程

警告,变量已死亡,C语言基础教程之变量作用域

任何编程中的范围都是程序的一个区域,其中定义的变量可以存在,并且超出该范围,无法访问它。有三个地方可以用C编程语言声明变量

14500
来自专栏偏前端工程师的驿站

JS魔法堂:判断节点位置关系

一、前言                             在polyfill querySelectorAll 和写弹出窗时都需要判断两个节点间的位置关...

23750
来自专栏Coding迪斯尼

Reactjs开发自制编程语言Monkey的编译器:高能技术干货之语法高亮1

15330
来自专栏Jerry的SAP技术分享

100行代码让您学会JavaScript原生的Proxy设计模式

面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了。比如我之前写过代理模式在Java中实现的两篇文章:

13210

扫码关注云+社区

领取腾讯云代金券