zoukankan      html  css  js  c++  java
  • 通过可迭代对象,迭代器,理解dict,list,filter,map,zip,dict,list之间的联系

    """
    理解迭代器原理后,无意中将以前的困扰的难点解开了。为什么有些对象,比如zip,filter,map对象能够使用list和dict方法转换
    有些却不行,一切的一切都是和可迭代对象以及迭代器的概念有关
    
    下面以zip为例
    
    """
    
    
    a = ['age', 'height']
    b = [18, '17cm']
    c = zip(a, b)  # 返回来的是 zip对象,该对象中存在iter和next方法,则是一个迭代器,同样是一个可迭代对象
    print(c.__next__())  # 因此可以直接输出:('age', 18),和能够使用for循环的原因
    
    
    """
    dict,list与可迭代对象之间的关系
    dict 接收可迭代对象作为参数,将对象中的每个元素转换成字典(前提是里面每个元素都是可迭代对象,且有两个元素,例如(age,18) 或 [age,18]
    list 接收可迭代对象作为参数,将对象中的每个元素添加到列表中,具体使用如下
    
    注意事项:list 和dict内部的实现同样是以for循环进行遍历添加属性到列表的,因此当使用list或dict遍历完后,下面再使用dict或list会得到空列表或字典
    """
    print(list(c))   # 将每个值作为元素添加到列表 [('age', 18), ('height', '17cm')]
    print(dict(c))  # {'age': 18, 'height': '17cm'}
    print(dict(list(c)))  # {'age': 18, 'height': '17cm'}
    
    
    
    

    本文来自博客园,作者:中州韵,转载请注明原文链接:https://www.cnblogs.com/zhongzhouyun/p/15315091.html

  • 相关阅读:
    IOS UI NavigationController结构
    IOS UI 自定义navigationBar布局
    IOS UI 代码界面跳转常用方式
    IOS OC 多态(白话)
    IOS OC NSArray&NSMutableArray
    IOS OC NSString基础知识
    NSTimer做一个小计时器
    IOS UI 代码创建UIButton,UITextField,UILabel
    [HNOI2010]平面图判定
    [SDOI2017]树点涂色
  • 原文地址:https://www.cnblogs.com/zhongzhouyun/p/15315091.html
Copyright © 2011-2022 走看看