首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3的一些简单高级用法(未完待续)三元运算生成列表字典等if or 简化lambda 函数+filter 函数

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

作者头像
98k
发布2018-04-12 11:56:32
9370
发布2018-04-12 11:56:32
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

三元运算

可以解决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]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.01.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三元运算
    • 可以解决if else 行数过多问题
    • 生成列表字典等
    • if or 简化
    • lambda 函数
    • +
    • filter 函数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档