zoukankan      html  css  js  c++  java
  • Python的列表推导式,字典推导式,集合推导式使用方法

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种

    1.列表推导式也叫列表解析式。
    功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表
    格式:用中括号括起来,中间用for语句,后面跟if语句用作判读,满足条件的传到for语句前面用作构建先的列表
    [x**2 for item in item_list if item>2]

    例子:

    >>> a = [x*2 for x in range(10) if x % 2 == 1]
    >>> a
    [2, 6, 10, 14, 18]
    

    很明显,列表解析式最擅长的方式就是对整个列表分别做相同的操作,并且返回得到一个新的列表,并不会直接返回,需要赋值给变量

    2.第二种是字典解析式,这个跟列表解析式的用法是差不多的,只不中括号该改成大括号,毕竟字典本身用的就是大括号。
    例子:

    >>> test = {'age': 20, 'name': 'zhaolibin', 'sex': 'boy'}
    >>> d = {v:k  for (k,v) in test.items()}
    >>> d
    {'boy': 'sex', 20: 'age', 'zhaolibin': 'name'}.
    

    3.还有一种是集合推导式。
    功能:集合推导式跟列表推导式差不多,都是对一个列表的元素全部执行相同的操作,
    但集合是一种无重复无序的序列
    区别:跟列表推到式的区别在于:1.不使用中括号,使用大括号;2.结果中无重复;3.结果是一个set()集合,集合里面是一个序列

    >>> a = [1,1,2]
    >>> s = {i*2 for i in a}
    >>> s
    set([2, 4])
    
  • 相关阅读:
    bash 中的 ; && 与|| 的作用
    远程root用户无法登陆
    MySQL5.6主从同步(热备份)
    进程之间的通信方式
    远程连接openGuass配置
    openGuass1.1.0部署
    Go同步原语
    spring boot集成activiti6
    解决默认的jackson序列化循环引用的问题
    spring boot集成websocket
  • 原文地址:https://www.cnblogs.com/creazylinux/p/7356912.html
Copyright © 2011-2022 走看看