zoukankan      html  css  js  c++  java
  • 12 Python学习之列表推导式和生成器表达式

    列表推导式

    列表推导式:用一行代码构建一个比较复杂有规律的列表。本质是一个可迭代对象

    循环模式:

    语法:

    [变量 for 变量 in 可迭代对象]

    例1:

    li = [i for i in range(10)]
    print(li)
    

    筛选模式:

    语法:

    [变量 for 变量 in 可迭代对象 if 条件]

    例1:

    li = [i for i in range(10) if i % 2 == 0]
    print(li)
    

    多层循环嵌套的列表推导式

    例1:

    找出列表中名字带有两个字母'e'的名字

    li = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Steven'], ['Alice', 'Jill', 'Ana', 'Sherry', 'Jennifer']]
    
    print([name for i in li for name in i if name.count('e') == 2])
    

    列表生成器

    列表生成器与推导式的写法一样,只是将列表推导式的方括号换成圆括号,本质是一个迭代器

    例1:

    obj = (i for i in range(1, 11))		# 生成器
    print(type(obj))
    
    for _ in range(10):
        print(next(obj))				# 输出迭代器中的内容
    
  • 相关阅读:
    JDOJ 1090: 矩阵
    JDOJ 2236: Random Num
    浅谈区间DP
    NOIP 2006 能量项链
    小技巧—处理环形区间
    NOI 1995 石子合并
    洛谷 P5640 【CSGRound2】逐梦者的初心
    JDOJ 1101: 邦德I
    JDOJ 1104: 最佳挑水
    JDOJ 1098: 夏娜的菠萝包
  • 原文地址:https://www.cnblogs.com/zcf-blog/p/13427871.html
Copyright © 2011-2022 走看看