• 通过可迭代对象,迭代器,理解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

  • 相关阅读:
    BZOJ 4710: [Jsoi2011]分特产
    P4859 已经没有什么好害怕的了
    BZOJ 2839 集合计数
    P1450 [HAOI2008]硬币购物
    P3440 [POI2006]SZK-Schools
    P4177 [CEOI2008]order
    对于最小割的进一步理解
    P2774 方格取数问题
    JAVA网络编程TCP通信
    JAVA多线程及补充
  • 原文地址:https://www.cnblogs.com/zhongzhouyun/p/15315091.html
Copyright © 2020-2023  润新知