zoukankan      html  css  js  c++  java
  • Python学习笔记(七)

    一、判断一个对象是否支持迭代

      from collections import Iterable
      isinstance("ABC",Iterable)


    二、将list变成索引-元素对的形式循环遍历

      for i,value in enumerate(['A','B','C']):
        print(i,value)


    三、使用for循环同时迭代两个变量

      for i,v in [(1,2),(3,4),(5,6)]:
        print(i,v)


    四、列表生成器简介

      列表生成器是一种快速的生成列表的方法

      list(range(1,100))
      [x * x for x in range(1,100)]
      [x * x for x in range(1,100) if x%2 == 0]
      [n + m for n in "ABC" for n in "DEF"]
      [k+v for k,v in d.items()] #其中d为dict
      [s.lower() for s in list ] #将原有的lsit中的元素变成小写的


    五、生成器介绍

      生成器是根据特定的算法或者公式推测出来的,通过生成器可以解决在内存有限的情况下获取特定元素的值


    六、创建生成器

      g = (x*x for x in [1,2,3,4,5])
      def number():
        n = 1
        while True:
          yield n
          n += 2
      g = number()

      yield是一个关键字,如果一个函数中存在yield关键字,那么该函数将变成一个迭代器
      当程序每次执行的yield时,将返回相应的数值并中断本次执行并保存当前执行的变量、位置、状态,再次调用时将直接执行下一条语句

      next(生成器) 将使生成器生成下一个值


    七、迭代器

      凡是可以使用for循环进行遍历的对象都是Iterable类型
      凡是可以作用于next()函数对象的都是Iterator类型
      凡是生成器都是Iterator类型
      集合数据类型如lsit、dict、str等都是Iterable的但并不是Iterator,但可以通过使用iter()来获得一个Iterator对象,例如:isinstance(iter("ABC"),Iterator) 


      

      

      

  • 相关阅读:
    初试 Elastic Search
    索引分类
    Nginx
    LINQ入门
    CSS学习
    Keras 安装
    火车进站
    2016年网易笔试编程题2
    Java GC
    linux 安装 mysql
  • 原文地址:https://www.cnblogs.com/userchencq/p/7528725.html
Copyright © 2011-2022 走看看