zoukankan      html  css  js  c++  java
  • python 迭代和列表解析

    迭代

      字符串,列表,元组和字典等对象均支持迭代操作,可用迭代器遍历对象

      因为上述对象没有自己的迭代器,iter()函数生成迭代器

    d=iter([7,4,3])
    for i in range(3):
        print(next(d))
    next(d)        越界会报错
    

    d=iter((7,8,(9,0)))
    for i in range(3):
        print(next(d))

    d=iter(('abc'))
    for i in range(3):
        print(next(d))
    

    d1=iter({'name':'Jhon','age':25})
    d2=iter({'name':'Jhon','age':25}.keys())
    d3=iter({'name':'Jhon','age':25}.values())
    d4=iter({'name':'Jhon','age':25}.items())
    for i in range(2):
        print(next(d1))
    print()
    
    for i in range(2):
        print(next(d2))
    print()
    
    for i in range(2):
        print(next(d3))
    print()
    
    for i in range(2):
        print(next(d4))
    print()

     解析

      解析就是通过一定的方法来修改

      一般和for紧密联系

    t=[1,2,3,4]
    for x in range(4):
        t[x]+=10
    for x in range(4):
        print(t[x],end=' ')

    t=[1,2,3,4]
    t=[x+10 for x in t]
    for x in range(4):
        print(t[x],end=' ')

    t=[x+10 for x in range(10) if x%2==0]
    for x in range(len(t)):
        print(t[x],end=' ')

    t=[x+y for x in (10,20) for y in (1,2,3)]
    for x in range(len(t)):
        print(t[x],end=' ')

    t=[x+y for x in (10,20) if x>10 for y in (1,2,3) if y%2==1]
    for x in range(len(t)):
        print(t[x],end=' ')

    t=tuple(x*2 for x in  range(10) if x%2==1)
    print(t)

    t={x for x in range(10) if x%2==1}
    print(t)

    t={x:ord(x) for x in 'abcd'}
    print(t)

    部分函数可以直接使用可迭代对象

    t=[0,2,4,1,3,5]
    print(all(t))   #所有对象都为真时返回True
    print(any(t))   #有一个对象为真时返回True

    t=[0,2,4,1,3,5]
    print(sum(t))
    print(sorted(t))
    print(min(t))
    print(max(t))

  • 相关阅读:
    前沿技术解密——VirtualDOM
    Ques核心思想——CSS Namespace
    Unix Pipes to Javascript Pipes
    Road to the future——伪MVVM库Q.js
    聊聊CSS postproccessors
    【译】十款性能最佳的压缩算法
    Kafka Streams开发入门(9)
    Kafka Streams开发入门(8)
    【译】Kafka Producer Sticky Partitioner
    【译】99th Percentile Latency at Scale with Apache Kafka
  • 原文地址:https://www.cnblogs.com/fengzhiyuan/p/13914841.html
Copyright © 2011-2022 走看看