python(字典和列表嵌套用法详解)
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(追加)的看起来类似,但实际上完全不同。
- extend接受一个参数,这个参数总是一个list,并且把这个list中每个元素添加到原list中。
- append接受一个参数,这个参数可以是任何数据类型,并且简单地追加到list的尾部。
字典(dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
- 键(key)必须是唯一的,可以用数字,字符串或元组充当,而用列表就不行
- 同一个键出现两次,最后出现的会更新前一个的值。
常用方式
字典的每个键值 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.zzm8.com/d/file/p/20210629150052124951/20210629150052124952
到此这篇关于python 字典和列表嵌套用法的文章就介绍到这了,更多相关python 字典和列表嵌套内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...