中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python字典和列表嵌套用法

發布時間:2021-06-29 12:02:50 來源:億速云 閱讀:305 作者:chen 欄目:開發技術

本篇內容主要講解“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.pythonf.cn/read/100118#1.2字典嵌套列表

到此,相信大家對“python字典和列表嵌套用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤城市| 临朐县| 大连市| 安泽县| 上林县| 安福县| 上杭县| 肥乡县| 同仁县| 法库县| 那坡县| 科技| 石城县| 洱源县| 枣庄市| 佛坪县| 虎林市| 枣阳市| 遵义市| 修文县| 昭苏县| 商洛市| 宁陕县| 化州市| 宜章县| 宁德市| 穆棱市| 托克逊县| 阿拉善左旗| 怀远县| 武安市| 吴忠市| 南江县| 宜都市| 耿马| 布尔津县| 电白县| 华阴市| 望江县| 民乐县| 泰来县|