zoukankan      html  css  js  c++  java
  • Python 列表推导式

      •  列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]
      •  字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key:value
      •  集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 => key 自带去重功能
        • 列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层
        • #生成一个存放1-100中个位数为3的数据列表
    #  普通写法
    #生成一个存放1-100中个位数为3的数据列表
    # 普通写法
    list =[]
    for i in range(1,101):
        if i % 10 == 3:
            list.append(i)
    print(list)
    #列表推导
    list1=[i for i in range(1,101) if i % 10==3]
    print(list1)
    
    #利用列表推到是将 列表中的整数提取出来[True, 33, ll", "kk", 44, 34, 0]
    #利用列表推到是将 列表中的整数提取出来[True, 17, "hello", "bye", 98, 34, 21]
    values =[True, 33, "ll", "kk", 44, 34, 0]
    #type()校验数据类型
    nums =[i for i in values if type(i) == int]
    print(nums)
    

      

    # 字典推导式:把字典中的key:value互换, {"b":"a","d":"c"}
    dic = {"a":"b", "c":"d"}
    new_dic = {dic[key]:key for key in dic} # key值是里面的 key = a,key = c
    print(new_dic) # key = a,key = c dic[key] = b, d
    
    lst1 = ["唐人街探案","Q","5颗星","悬疑"]
    lst2 = ["电影", "第一", "评分", "类型"]
    dic = {lst2[i]:lst1[i] for i in range(len(lst1))}
    print(dic)
     
     
    缺点:可读性差
  • 相关阅读:
    Vue 监听子组件事件
    延时队列
    AES加密
    centos7.9 iftop 工具源码安装
    angular pass get paragrams by router
    Android chrome console in PC
    powershell 运行带路径的exe
    win下 nrm ls报错
    windows10 安装 node 16 解决node-sass node-gyp报错
    位图和布隆过滤器
  • 原文地址:https://www.cnblogs.com/cheng10/p/13361184.html
Copyright © 2011-2022 走看看