zoukankan      html  css  js  c++  java
  • 推到式_列表

    通过一行循环循环判断, 遍历出一系列数据的方式

     1 """
     2 推导式语法:
     3    i for i in iterable
     4    
     5 通过迭代对象循环得出的i, 
     6 扔到左侧进行处理, 
     7 处理结束后放到容器中
     8 
     9 
    10 执行流程:
    11    从左向右, 
    12    左边的循环是外循环, 右边的循环是内循环
    13    进行右侧的条件判断后返回给最左边处理
    14    左边可以是三目运算符
    15    处理完毕后,放入容器进行返回
    16 """

    1.普通推导式

     1 # [1,2,3,4] => [2,8,24,64]
     2 listvar = [1, 2, 3, 4]
     3 
     4 res = [i << i for i in range(1, 5)]
     5 print(res)
     6 
     7 '''
     8 li = []
     9 for i in range(1, 5):
    10    li.append(i<<i)
    11 print(li)
    12 '''

    2.带有判断条件推导式

     1 # 最终值 + 推导式 + 单项分支
     2 # [1,2,3,4,5,6,7,8,9,10,11] => [2,4,6,8,10]
     3 listvar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
     4 
     5 li = [i for i in range(1, 12) if i % 2 == 0]
     6 print(li)
     7 
     8 '''
     9 li = []
    10 for i in range(1, 12):
    11    if i % 2 == 0:
    12       li.append(i)
    13 
    14 print(li)
    15 '''

    3.多循环推导式

    1 list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
    2 list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]
    3 
    4 li = [i + "" + j for i in list1 for j in list2]
    5 print(li)

    4.带有判断条件的多循环推导式

     1 list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
     2 list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]
     3 
     4 li = [i + j for i in list1 for j in list2 if list1.index(i) == list2.index(j)]
     5 print(li)
     6 
     7 '''
     8 li = []
     9 for i in list1:
    10    for j in list2:
    11       if list1.index(i) == list2.index(j):
    12          li.append((j, i))
    13 
    14 print(li)
    15 '''
  • 相关阅读:
    移动web前端高效开发实践 读书笔记
    前端开发最佳实践-读书笔记
    frontend-Tips
    匿名函数的几种写法
    12个用得着的JQuery代码片段(转)
    tesseract-ocr 学习笔记(比网上的中文说明都详细)
    关于大数据的思考
    单片机实验的小记录~~PWM
    组建Redis集群遇到`GLIBC_2.14' not found和ps -ef 不显示用户名
    柔性数组(Redis源码学习)
  • 原文地址:https://www.cnblogs.com/caihuajiaoshou/p/10618619.html
Copyright © 2011-2022 走看看