濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > python 字典和列表嵌套用法詳解

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

熱門標(biāo)簽:銀川電話機(jī)器人電話 預(yù)覽式外呼系統(tǒng) 外賣地址有什么地圖標(biāo)注 上海正規(guī)的外呼系統(tǒng)最新報(bào)價(jià) 煙臺(tái)電話外呼營銷系統(tǒng) 如何地圖標(biāo)注公司 長春極信防封電銷卡批發(fā) 電銷機(jī)器人錄音要學(xué)習(xí)什么 企業(yè)彩鈴地圖標(biāo)注

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

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

列表(List)

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

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

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

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

常用方式

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

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ǔ)任意類型對(duì)象。

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

常用方式

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

>>> 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è)用得不多,相對(duì)也比較簡單,直接看例子:

### 打印輸出字符 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è)鍵值對(duì):
>>> for i in range(len(li)):
...     for k, v in li[i].items():
...         print(k, v)
...
a 1
b 2
c 3
    
###(2) 獲取字典里每個(gè)鍵值對(duì)(元組數(shù)據(jù)類型):
>>> for i in range(len(li)):
...     for j in li[i].items():
...         print(j)
...
('a', 1)
('b', 2)
('c', 3)

### 可以看到第二種獲取到的鍵值對(duì)是 元組數(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ǔ)年級(jí)前100名學(xué)生的各科成績時(shí),由于學(xué)生是由成績進(jìn)行排名的,列表是有序的數(shù)據(jù)類型,而字典是無序的數(shù)據(jù)類型,所以外面會(huì)用列表去存儲(chǔ)所有的數(shù)據(jù)。

而對(duì)于學(xué)生的各科成績來說,看重的不是有序,而是需要科目和成績一一對(duì)應(yīng),這才是最重要的。或者說當(dāng)我想獲取到年紀(jì)第十名同學(xué)的語文成績,那么可以直接去獲取到列表對(duì)應(yīng)的索引,和字典里對(duì)應(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python字典的元素訪問實(shí)例詳解
  • Python基礎(chǔ)之字典常見操作經(jīng)典實(shí)例詳解
  • python字符串,元組,列表,字典互轉(zhuǎn)代碼實(shí)例詳解
  • Python字典深淺拷貝與循環(huán)方式方法詳解
  • Python字典添加,刪除,查詢等相關(guān)操作方法詳解
  • Python 字典詳解

標(biāo)簽:盤錦 西寧 湖北 潮州 珠海 上饒 宜昌 佳木斯

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 字典和列表嵌套用法詳解》,本文關(guān)鍵詞  python,字典,和,列表,嵌套,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 字典和列表嵌套用法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 字典和列表嵌套用法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    安西县| 德保县| 横山县| 内江市| 宣城市| 怀来县| 安远县| 西藏| 黔江区| 军事| 同江市| 六安市| 平果县| 迁西县| 巴东县| 白水县| 绥阳县| 江门市| 略阳县| 万州区| 昌平区| 新巴尔虎左旗| 遂平县| 丰都县| 六盘水市| 息烽县| 金阳县| 南丰县| 唐山市| 定边县| 尚志市| 麻江县| 朝阳市| 铜鼓县| 涿州市| 方城县| 颍上县| 高青县| 伊金霍洛旗| 陆川县| 桦甸市|