最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 字典和列表嵌套用法詳解

 更新時(shí)間:2021年06月29日 10:35:43   作者:鋼鐵俠的知識庫  
python中字典和列表的使用,在數(shù)據(jù)處理中應(yīng)該是最常用的,今天通過多種場景給大家分享python 字典和列表嵌套用法,感興趣的朋友一起看看吧

python中字典和列表的使用,在數(shù)據(jù)處理中應(yīng)該是最常用的,這兩個(gè)熟練后基本可以應(yīng)付大部分場景了。不過網(wǎng)上的基礎(chǔ)教程只告訴你列表、字典是什么,如何使用,很少做組合說明。

剛好工作中采集prometheus監(jiān)控接口并做數(shù)據(jù)處理的時(shí)候,用了很多組合場景,列出幾個(gè)做一些分享。

列表(List)

序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。序列中的每個(gè)元素都分配一個(gè)數(shù)字 - 它的位置,或索引,第一個(gè)索引是0,第二個(gè)索引是1,依此類推。

列表是最常用的Python數(shù)據(jù)類型,它可以作為一個(gè)方括號內(nèi)的逗號分隔值出現(xiàn)。

列表的數(shù)據(jù)項(xiàng)不需要具有相同的類型

特點(diǎn)就是:可重復(fù),類型可不同

常用方式

創(chuàng)建一個(gè)列表,只要把逗號分隔的不同數(shù)據(jù)項(xiàng)使用方括號括起來即可。如下所示:

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 將單個(gè)元素插入到list中
list3.insert(2, 'q')   ##['a', 'b', 'q', 'c', 'd']

### 獲取列表的長度
print(len(list1))   ## 5

### 遍歷list
for name in list1:
    print(name)

extend(擴(kuò)展)與append(追加)的看起來類似,但實(shí)際上完全不同。

  • extend接受一個(gè)參數(shù),這個(gè)參數(shù)總是一個(gè)list,并且把這個(gè)list中每個(gè)元素添加到原list中。
  • append接受一個(gè)參數(shù),這個(gè)參數(shù)可以是任何數(shù)據(jù)類型,并且簡單地追加到list的尾部。

字典(dictionary)

字典是另一種可變?nèi)萜髂P停铱纱鎯?chǔ)任意類型對象。

  • 鍵(key)必須是唯一的,可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行
  • 同一個(gè)鍵出現(xiàn)兩次,最后出現(xiàn)的會(huì)更新前一個(gè)的值。

常用方式

字典的每個(gè)鍵值 key=>value 對用冒號:分割,每個(gè)鍵值對之間用逗號,分割,整個(gè)字典包括在花括號 {} 中 ,格式如下所示:

>>> 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          # 刪除字典

組合使用

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

列表嵌套列表

這個(gè)用得不多,相對也比較簡單,直接看例子:

### 打印輸出字符 5
l = [[1,2],[3,4],[[5,6],[7,8]]]	
>>> print(l[2][0][0])
5

### 將嵌套列表轉(zhuǎn)為非嵌套列表
>>> 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]

列表嵌套字典

在列表中嵌套字典應(yīng)該是最常用的方式了,直接舉例說明:

li = [{'a': 1}, {'b': 2}, {'c': 3}]

###(1) 循環(huán)獲取字典里每個(gè)鍵值對:
>>> for i in range(len(li)):
...     for k, v in li[i].items():
...         print(k, v)
...
a 1
b 2
c 3
    
###(2) 獲取字典里每個(gè)鍵值對(元組數(shù)據(jù)類型):
>>> for i in range(len(li)):
...     for j in li[i].items():
...         print(j)
...
('a', 1)
('b', 2)
('c', 3)

### 可以看到第二種獲取到的鍵值對是 元組數(shù)據(jù)類型。

字典嵌套字典

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

>>> s={'a':{0:'no',1:{'f':{0: 'no', 1: 'maybe'}}},'b':{}}  #構(gòu)造字典
>>> 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','內(nèi)存':'16','硬盤':'500'},
    '192.168.1.2':{'cpu':'3.22','內(nèi)存':'64','硬盤':'700'},
    '192.168.1.3':{'cpu':'1.99','內(nèi)存':'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 內(nèi)存 16 硬盤 500
 192.168.1.2: cpu 3.22 內(nèi)存 64 硬盤 700
 192.168.1.3: cpu 1.99 內(nèi)存 32 硬盤 800

字典嵌套列表

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

### 字典嵌套列表
dict = {
    '水果':['蘋果','香蕉','橘子'],
    '動(dòng)物':['獅子','老虎','大象'],
    '語言':['中文','英文','日語'],
}

### 訪問字典里的值
>>> print(dict['水果'])
['蘋果', '香蕉', '橘子']

### 訪問列表里的值
>>> print(dict['語言'][1])
英文

### 循環(huán)打印輸出看效果
>>> for k, v in dict.items():
...     print('\n', k, end=':')
...     for x in v:
...         print(x,end=' ')
...

 水果:蘋果 香蕉 橘子
 動(dòng)物:獅子 老虎 大象
 語言:中文 英文 日語

嵌套什么時(shí)候用

比如希望存儲(chǔ)年級前100名學(xué)生的各科成績時(shí),由于學(xué)生是由成績進(jìn)行排名的,列表是有序的數(shù)據(jù)類型,而字典是無序的數(shù)據(jù)類型,所以外面會(huì)用列表去存儲(chǔ)所有的數(shù)據(jù)。

而對于學(xué)生的各科成績來說,看重的不是有序,而是需要科目和成績一一對應(yīng),這才是最重要的。或者說當(dāng)我想獲取到年紀(jì)第十名同學(xué)的語文成績,那么可以直接去獲取到列表對應(yīng)的索引,和字典里對應(yīng)的key就可以了,這樣就能得到相應(yīng)的value。

至于嵌套中的排序用法

參考文獻(xiàn)

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

到此這篇關(guān)于python 字典和列表嵌套用法的文章就介紹到這了,更多相關(guān)python 字典和列表嵌套內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python astype(np.float)函數(shù)使用方法解析

    Python astype(np.float)函數(shù)使用方法解析

    這篇文章主要介紹了Python astype(np.float)函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • pytorch自定義二值化網(wǎng)絡(luò)層方式

    pytorch自定義二值化網(wǎng)絡(luò)層方式

    今天小編就為大家分享一篇pytorch自定義二值化網(wǎng)絡(luò)層方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 如何使用Django Admin管理后臺導(dǎo)入CSV

    如何使用Django Admin管理后臺導(dǎo)入CSV

    這篇文章主要介紹了如何使用Django Admin管理后臺導(dǎo)入CSV,幫助大家更好的理解和使用django框架,感興趣的朋友可以了解下
    2020-11-11
  • django admin 添加自定義鏈接方式

    django admin 添加自定義鏈接方式

    這篇文章主要介紹了django admin 添加自定義鏈接方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 詳解python實(shí)現(xiàn)讀取郵件數(shù)據(jù)并下載附件的實(shí)例

    詳解python實(shí)現(xiàn)讀取郵件數(shù)據(jù)并下載附件的實(shí)例

    這篇文章主要介紹了詳解python讀取郵件數(shù)據(jù)并下載附件的實(shí)例的相關(guān)資料,這里提供實(shí)現(xiàn)實(shí)例,幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • 用python將word文檔合并實(shí)例代碼

    用python將word文檔合并實(shí)例代碼

    大家好,本篇文章主要講的是用python將word文檔合并實(shí)例代碼,感興趣的同學(xué)趕快老看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python下劃線命名模式

    Python下劃線命名模式

    下劃線前綴的含義是告知其他程序員:以單個(gè)下劃線開頭的變量或方法僅供內(nèi)部使用,該約定在PEP 8中有定義,這篇文章主要介紹了Python下劃線命名模式,需要的朋友可以參考下
    2023-10-10
  • DJANGO-URL反向解析REVERSE實(shí)例講解

    DJANGO-URL反向解析REVERSE實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于DJANGO-URL反向解析REVERSE的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • python使用ctypes調(diào)用擴(kuò)展模塊的實(shí)例方法

    python使用ctypes調(diào)用擴(kuò)展模塊的實(shí)例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python使用ctypes調(diào)用擴(kuò)展模塊的實(shí)例方法內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-01-01
  • Tensorflow中的placeholder和feed_dict的使用

    Tensorflow中的placeholder和feed_dict的使用

    這篇文章主要介紹了Tensorflow中的placeholder和feed_dict的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

肇源县| 新疆| 玛沁县| 东安县| 牡丹江市| 北京市| 来宾市| 安泽县| 宝鸡市| 望江县| 沙湾县| 固镇县| 神木县| 大同市| 石棉县| 南木林县| 新沂市| 隆昌县| 宁蒗| 桂阳县| 沐川县| 黑河市| 东安县| 曲松县| 普兰县| 伊吾县| 长顺县| 桑植县| 新建县| 张家界市| 河北区| 方山县| 车致| 丰台区| 禄丰县| 河津市| 榆树市| 北京市| 汶川县| 新乡市| 禹城市|