zoukankan      html  css  js  c++  java
  • python系统学习:第四周之列表生成式、生成器、迭代器

    # 列表生成式
    lists = [x * x for x in range(1, 11)]
    print(lists)
    # 列表生成式2
    lists2 = [x * x for x in range(1, 11) if x % 2 == 0]
    print(lists2)
    # 列表生成式3
    lists3 = [x + y + z for x in '1234' for y in '1234' for z in '1234' if x != y != z]
    print(lists3)
    # 生成器:一边循环一边计算的机制generator
    # 第一种暴力方法
    lists4 = (x for x in range(1, 11) if x % 2 == 0)
    print(next(lists4)) # 输出用next
    for i in lists4: # 输出用循环
    print(i)
    # 可迭代对象:
    # 可用于for循环的数据类型有以下几种,他们统称为可迭代对象(iterable):
    # 首先是集合数据类型,如:list、tuple、dict、set、str
    # 其次是generaor,包括生成器和带yield的generator function
    # 使用isinstance()判断是否是iterable
    # from collections import iterable
    # isinstance([], iterable)
    # 迭代器:
    # 不仅可以使用for循环,还可以使用 next()调用,叫做迭代器:iterator
    # 使用isinstance()判断是否是iterator
    # form collections import iterator
    # isinstance([],iterator)
    # list、dict 虽然是iterable(可迭代对象,可for循环),但是不属于iterator(迭代器)
    # 利用iter()函数将其变为iterator



    关于这一模块,要通过例子不断深化,不然很难理解
  • 相关阅读:
    date format记录
    python同时遍历两个list
    Windbg分析DMP文件
    DNS原理及其解析过程(转)
    有关正则表达式的详细内容
    sizeof _countof _tcslen的比较
    关于androidX
    UML类图
    springBoot 访问html页面遇到的坑
    hashmap 的实现原理
  • 原文地址:https://www.cnblogs.com/niushichong/p/10209921.html
Copyright © 2011-2022 走看看