2.1 列表的解析
2.1.1 使用filter篩選器
filter(篩選條件,列表) filter有兩個引數,第乙個參 數是篩選條件,第二個引數是列表。篩選條件用lambda表示式
lambda表示式的書寫格式為
lambda 變數: 表示式
這個表示式為bool型別,也就是說只要滿足這個表示式就把函式返回值傳給x。
值得注意的是從python 3.3之後 filter的返回值不再是乙個列表而是乙個iterators(迭代器) 是乙個位址值。這裡篩選需要乙個強制型別轉換list()。
**部分:值得注意的是這個列表的生成格式
from random import randintdata=[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...