• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python 字典和列表嵌套用法详解

    python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了。不过网上的基础教程只告诉你列表、字典是什么,如何使用,很少做组合说明。

    刚好工作中采集prometheus监控接口并做数据处理的时候,用了很多组合场景,列出几个做一些分享。

    列表(List)

    序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

    列表的数据项不需要具有相同的类型

    特点就是:可重复,类型可不同

    常用方式

    创建一个列表,只要把逗号分隔的不同数据项使用方括号括起来即可。如下所示:

    list1 = ['apple', 'banana', 2008, 2021]
    list2 = [1, 2, 3, 4, 5 ]
    list3 = ["a", "b", "c", "d"]
    
    ### 向list中增加元素
    list1.append(3)   ## ['apple', 'banana', 2008, 2021, 3]
    
    ### 使用extend用来连接list
    list1.extend([7, 8])  ##['apple', 'banana', 2008, 2021, 3, 7, 8]
    
    ### insert 将单个元素插入到list中
    list3.insert(2, 'q')   ##['a', 'b', 'q', 'c', 'd']
    
    ### 获取列表的长度
    print(len(list1))   ## 5
    
    ### 遍历list
    for name in list1:
        print(name)

    extend(扩展)与append(追加)的看起来类似,但实际上完全不同。

    字典(dictionary)

    字典是另一种可变容器模型,且可存储任意类型对象。

    常用方式

    字典的每个键值 key=>value 对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号 {} 中 ,格式如下所示:

    >>> dict = {'a': 1, 'b': 2, 'b': '3'}
    >>> print(dict)
    {'a': 1, 'b': '3'}
    
    ### 访问字典里的值
    >>> print(dict['b'])
    3
    
    ### 更新和添加字典
    >>> dict['a'] = 8
    >>> dict['c'] = 'cc'
    >>> print(dict['a'])
    8
    >>> print(dict['c'])
    cc
    
    ### 删除字典元素
    >>> del dict['a']
    >>> print(dict)
    {'b': '3', 'c': 'cc'}
    >>> dict.clear()      # 清空字典所有条目
    >>> del dict          # 删除字典

    组合使用

    列表里也能嵌套列表,列表里能嵌套字典
    字典里能嵌套字典,字典里也能嵌套列表
    这是非常灵活的。

    列表嵌套列表

    这个用得不多,相对也比较简单,直接看例子:

    ### 打印输出字符 5
    l = [[1,2],[3,4],[[5,6],[7,8]]]	
    >>> print(l[2][0][0])
    5
    
    ### 将嵌套列表转为非嵌套列表
    >>> a = [[1,2,3],[4,5,6],[7],[8,9]]
    >>> for i in a:
    ...     t.extend(i)
    ...
    >>> print(t)
    [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    列表嵌套字典

    在列表中嵌套字典应该是最常用的方式了,直接举例说明:

    li = [{'a': 1}, {'b': 2}, {'c': 3}]
    
    ###(1) 循环获取字典里每个键值对:
    >>> for i in range(len(li)):
    ...     for k, v in li[i].items():
    ...         print(k, v)
    ...
    a 1
    b 2
    c 3
        
    ###(2) 获取字典里每个键值对(元组数据类型):
    >>> for i in range(len(li)):
    ...     for j in li[i].items():
    ...         print(j)
    ...
    ('a', 1)
    ('b', 2)
    ('c', 3)
    
    ### 可以看到第二种获取到的键值对是 元组数据类型。

    字典嵌套字典

    字典嵌套字典:字符串作为key,字典作为value:

    >>> s={'a':{0:'no',1:{'f':{0: 'no', 1: 'maybe'}}},'b':{}}  #构造字典
    >>> s['a'][0]  # 取值
    'no'
    >>> s['a'][1]
    {'f': {0: 'no', 1: 'maybe'}}
    >>> s['a'][1]['f'][1]  
    'maybe'
    ### 字典嵌套字典
    dict = {
        '192.168.1.1':{'cpu':'0.23','内存':'16','硬盘':'500'},
        '192.168.1.2':{'cpu':'3.22','内存':'64','硬盘':'700'},
        '192.168.1.3':{'cpu':'1.99','内存':'32','硬盘':'800'},
    }
    
    ### for遍历
    >>> for k,v in dict.items():
    ...     print('\n',k,end=': ')
    ...     for x,y in v.items():
    ...         print(x,y,end=' ')
    ...
    
     192.168.1.1: cpu 0.23 内存 16 硬盘 500
     192.168.1.2: cpu 3.22 内存 64 硬盘 700
     192.168.1.3: cpu 1.99 内存 32 硬盘 800

    字典嵌套列表

    那么如何在字典里嵌套列表呢?
    字典嵌套列表:字符串作为key,列表作为value。

    ### 字典嵌套列表
    dict = {
        '水果':['苹果','香蕉','橘子'],
        '动物':['狮子','老虎','大象'],
        '语言':['中文','英文','日语'],
    }
    
    ### 访问字典里的值
    >>> print(dict['水果'])
    ['苹果', '香蕉', '橘子']
    
    ### 访问列表里的值
    >>> print(dict['语言'][1])
    英文
    
    ### 循环打印输出看效果
    >>> for k, v in dict.items():
    ...     print('\n', k, end=':')
    ...     for x in v:
    ...         print(x,end=' ')
    ...
    
     水果:苹果 香蕉 橘子
     动物:狮子 老虎 大象
     语言:中文 英文 日语

    嵌套什么时候用

    比如希望存储年级前100名学生的各科成绩时,由于学生是由成绩进行排名的,列表是有序的数据类型,而字典是无序的数据类型,所以外面会用列表去存储所有的数据。

    而对于学生的各科成绩来说,看重的不是有序,而是需要科目和成绩一一对应,这才是最重要的。或者说当我想获取到年纪第十名同学的语文成绩,那么可以直接去获取到列表对应的索引,和字典里对应的key就可以了,这样就能得到相应的value。

    至于嵌套中的排序用法

    参考文献

    列表:https://www.runoob.com/python/python-lists.html
    字典:https://www.runoob.com/python/python-dictionary.html
    嵌套字典:https://www.pythonf.cn/read/100118#1.2字典嵌套列表

    到此这篇关于python 字典和列表嵌套用法的文章就介绍到这了,更多相关python 字典和列表嵌套内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python字典的元素访问实例详解
    • Python基础之字典常见操作经典实例详解
    • python字符串,元组,列表,字典互转代码实例详解
    • Python字典深浅拷贝与循环方式方法详解
    • Python字典添加,删除,查询等相关操作方法详解
    • Python 字典详解
    上一篇:Python连接Postgres/Mysql/Mongo数据库基本操作大全
    下一篇:总结python多进程multiprocessing的相关知识
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python 字典和列表嵌套用法详解 python,字典,和,列表,嵌套,