• 技术文章 >Python技术 >Python基础教程

    python中不同推导式怎么写

    小妮浅浅小妮浅浅2021-01-12 18:19:29原创2258

    在我们接触到一个陌生的单词时,如果想要使用就会先选择查询它的语法。同样在python中的推导式也可以这样理解。我们想建立列表的时候,可以查询列表表达式来快速的建立。我们最近所学的集合,也有类似的推导式可以运用。接下来就以这两种推导式为代表,为大家展示它们的使用和区别。


    你之前可能已经学习过列表推导式list comprehensions)、字典推导式(dictionary comprehensions)和生成器推导式。这里还有一个集合推导式(Set Comprehension)。集合推导式和它们是很类似的,Python中的集合推导式可以按照下面的方法构造:

    {skill for skill in ['SQL', 'SQL', 'PYTHON', 'PYTHON']}

    上面的输出为一个包含2个值的集合,因为集合中相同的元素不能多次出现。使用集合推导式背后的动机是希望能够用手动进行数学运算的方法在代码中编写和推导式子。

    {skill for skill in ['GIT', 'PYTHON', 'SQL'] if skill not in {'GIT', 'PYTHON', 'JAVA'}}

    上面的代码与之前学过的求差集类似,只是看上去有一点点不同。

    列表推导式:

    列表推导式对应的英文是list comprehension,有时也被翻译为列表解析式,是一种创建列表的简洁语法。先看下面这种较为常用的列表创建方式:

    data = []   # 创建空列表
    for x in range(-5, 5):
        if x >= -2: 
            # 如果x>=-2则给data添加i的平方
            data.append(x**2) 
    print(data)
    # 输出:[4, 1, 0, 1, 4, 9, 16]

    集合推导式跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}


    今天关于列表推导式与集合推导式的讲解到这里就结束了,目的是为了帮助大家学会语法,能够快速独立的建立列表、集合,两者的区别只有括号的不用。其他的推导式大家也可以在课外进行了解。

    专题推荐:python推导式
    上一篇:python集合和列表推导式哪种方法去重快 下一篇:python集合如何检测内部特定元素?

    相关文章推荐

    • python列表推导式是什么?• Python列表推导式(for表达式)及用法• 列表推导式与生成表达式的区别• python教程基础:列表推导式• python集合和列表推导式哪种方法去重快

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网