您好,登錄后才能下訂單哦!
本篇內容主要講解“python字典和列表嵌套用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python字典和列表嵌套用法”吧!
python中字典和列表的使用,在數據處理中應該是最常用的,這兩個熟練后基本可以應付大部分場景了。不過網上的基礎教程只告訴你列表、字典是什么,如何使用,很少做組合說明。
剛好工作中采集prometheus監控接口并做數據處理的時候,用了很多組合場景,列出幾個做一些分享。
序列是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的尾部。
字典是另一種可變容器模型,且可存儲任意類型對象。
鍵(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.pythonf.cn/read/100118#1.2字典嵌套列表
到此,相信大家對“python字典和列表嵌套用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。