列表 字典 集合的解析

2021-07-27 07:04:44 字數 1854 閱讀 4219

2.1 列表的解析

2.1.1 使用filter篩選器

filter(篩選條件,列表) filter有兩個引數,第乙個參 數是篩選條件,第二個引數是列表。篩選條件用lambda表示式

lambda表示式的書寫格式為

lambda 變數: 表示式

這個表示式為bool型別,也就是說只要滿足這個表示式就把函式返回值傳給x。

值得注意的是從python 3.3之後 filter的返回值不再是乙個列表而是乙個iterators(迭代器) 是乙個位址值。這裡篩選需要乙個強制型別轉換list()。

**部分:值得注意的是這個列表的生成格式

from random import randint

data=[randint(-10,10) for _ in range(10)]

data

[-1, -3, 3, 2, -4, 6, 4, -4, 6, 4]

首先寫出[for i in range(10)]控制此列表迴圈幾次。然後在迴圈條件的前面加上列表的元素值。[randint(-10,10) for _ in range(10)] 就生成了乙個列表

篩選部分

list(filter(lambda x:x>=0,data))

[3, 2, 6, 4, 6, 4]

2.1.2 使用列表解析

這裡的列表解析就是使用for。方法如下

首先寫出迴圈[for x in data]

寫出列表元素[x for x in data]

最後寫出篩選條件[x for x in data if x>=0]

[x for x in data if x>=0]

[3, 2, 6, 4, 6, 4]

2.2 字典的解析

2.2.1 字典的生成

首先還是要講到字典的生成,字典的生成書寫方式跟列表相似。

1.寫出迴圈體

[for x in range(1,21)]

2.寫出元素,注意這是是字典所以是 鍵:值 對應 。那個屬於迴圈就是x;

[x:randint(60,100) for x in range(1,21)]

2.2.2 解析

這裡解析使用for 經過測試for 要比 filter快一倍

書寫方法

1.寫出迴圈體

解釋一下,這裡使用的是字典的items()函式,在2.x是iteritems()。這是乙個字典,當然items也是乙個鍵-值對應的,所以這裡的迴圈index需要兩個,keys,value。

2.寫出字典的元素(其實也就是字典形式)

注意這裡的字典元素是根據keys,value迴圈而來的,所以說需要名稱對應。

3.寫出篩選條件

2.3 集合的解析

2.3.1 集合的建立

使用set(list)

s=set(data) s

把2.1 的列表變成了乙個集合。集合去除了重複的元素

2.3.2 集合的篩選

使用for

1.老樣子寫出迴圈體

2.寫出元素

3.寫出篩選條件

over~ 敬請期待

python列表字典集合

列表 定義 name 增 新增乙個元素 extend 新增集合 insert index,obj 插入元素 刪del name 下表 name.pop 棧頂元素 name.remove 元素值 根據元素值刪除第乙個滿足結果 改name 0 ass 使用下標進行修改 查in 存在 notin 不存在 ...

元組,列表,字典,集合

一 元組 tuple 1.定義 t 1,2,3 每個資料間用,隔開。當只有乙個元素時,元素後加 不加會被當作int型 2.下標 與字串相同,t 2 乙個元素乙個下標。3.不允許被修改 4.切片 t 起始 終止 步長 當步長為負數時,起始預設為 1。5.內建函式 len type max min su...

元組 列表 字典 集合

元組 元組跟列表一樣可以儲存多個值,大多數元組只是用來讀的,不用作修改,在相同元素下,列表占用的資源會比元組大 元組也有下標或者索引 t1 a b c d res t1.index a print res 0t1 a b c d res t1.count a print res 1列表 ctrl d...