您的位置: 网站首页> python基础> 当前文章

列表推导式、集合推导式、字典推导式

老董-我爱我家房产SEO2020-07-31189围观,131赞

  python语法简洁,推导式就是一个很好的体现。

  推导式(又称解析式)是 Python 独有的一种特性。使用推导式可以从一个数据序列构建一个新的数据序列。推导式从外形上来看像是for循环的一种变形写法。本节我们看一下列表推导式、集合推导式、字典推导式,你可能好奇是否有元组推导式,当你试图写一个元组推导式的时候其实结果是一个生成器,生成器可以参考python实现生成器

  1、列表推导式

  [表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 ]  # if 条件表达式可以省略

# -*- coding: utf-8 -*-

new_date = [x**2 for x in [1,2,3,4] if x > 2]
new_date2 = [x**2 for x in [1,2,3,4]]
print(new_date)
print(new_date2)

[9, 16]
[1, 4, 9, 16]

  2、集合推导式

  { 表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 } # if 条件表达式可以省略

# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-

new_date = {x**2 for x in [1,2,3,4] if x > 2}
new_date2 = {x**2 for x in [1,2,3,4]}
print(new_date)
print(new_date2)

{16, 9}
{16, 1, 4, 9}

  3、字典推导式

  字典推导式的长相和集合推导式完全相同,这个并不奇怪,因为python中输出字典或者输出集合都是用{ }包围起来的。

  {表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式}  # if 条件表达式可以省略

# -*- coding: utf-8 -*-

dic = {'age':18,'name':'老王'}
new_date = {v:k for k,v in dic.items() if v == 18}
new_date2 = {v:k for k,v in dic.items()}

print(new_date)
print(new_date2)

{18: 'age'}
{18: 'age', '老王': 'name'}

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    列表推导式、集合推导式、字典推导式文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200