zoukankan      html  css  js  c++  java
  • 列表推导式&集合推导式&字典推导式

    1 列表推导式

    旧列表 ------> 新列表
    格式:[表达式 for 变量 in 旧列表] 或 [表达式 for 变量 in 旧列表 if 条件]

    例子:
    1 # 例子:过滤掉长度小于等于3的人名
    2 names = ['lily', 'tom', 'bob', 'steven', 'james', 'ha']
    3 result = [name for name in names if len(name) > 3]
    4 print(result)
    5 
    6 
    7 # 每个单词的首字母大写
    8 result1 = [name.capitalize() for name in names if len(name)>3]
    9 print(result1)

    1 # 生成(偶数,奇数)对
    2 # 0~5偶数,0~10奇数
    3 # 两层for循环
    4 
    5 newlist = [(x, y) for x in range(5) if x % 2 == 0 for y in range(10) if y % 2!= 0]
    6 print(newlist)

     

     2.集合推导式

    和列表推导式类似,添加了去重的功能

    # 集合推导式 {},并且可以去重
    list1 = [1, 3, 4, 2, 5, 2, 1, 8, 9, 7, 8, 9]
    set1 = {x+1 for x in list1 if x > 5}
    print(set1)

    3.字典推导式

    # 字典推导式
    # 例子:将字典的键值互换,当键相同,值不同时,用后面的值覆盖前面的;生成新字典时,也要用冒号的形式,成对的出现
    dict1 = {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'C'}
    newdict = {value: key for key, value in dict1.items()}
    print(newdict)

  • 相关阅读:
    Captura
    食用Win系统自带的PowerShell登录服务器
    uTools
    图片镜像缓存服务
    博客园自定义网站ico
    超星图床
    教程翻译-理解基于矢量场寻路算法
    CentOS防火墙命令
    CentOS7的vsftpd安装和配置
    Unity网路编程-TCP实现细节备忘
  • 原文地址:https://www.cnblogs.com/GumpYan/p/12346284.html
Copyright © 2011-2022 走看看