如何在列表,字典 集合中篩選資料 高階學習

2021-09-11 08:14:25 字數 1822 閱讀 9513

生活中, 我們會遇到各種各樣的資料,但是總得需要容器去裝它們,python中的資料結構——列表,元組,字典就能派上用場,但是資料多了起來,我們有時候需要進行篩選就可以用到下面的一些方法

比如給定乙個列表,讓我們剔除裡面的負數,我們通常想到的是迭代法

[1,

22,-4

,3,-

9,8]

看**

a =[1

,22,-

4,3,

-9,8

]b =

for i in a:

if(i>0)

:print

(b)

今天就要講講其它的辦法來解決這些問題

一、列表解決方案

1、 先生成乙個隨機的列表

2、運用列表解析的方式去實現資料篩選

**如下:

from random import randint

#第一步生成隨機數列

data =

[randint(-10

,10)for _ in

range(10

)]#在-10到10之間隨機生成數列

print

(data)

#第二步,用列表解析的方式

我們通過時間對比,第二種方式的效率比第一種高10倍

二、字典解決方案

我們先生成乙個字典,比如生成班上學上的成績,班上有10個人,我們要進行篩選分數及格的同學

from random import randint

a =print

(a)

有列表解析,同樣也有字典解析

from random import randint

a =print

(a)b =

#同時迭代鍵和值,然後進行判斷

三、集合解決方案

借用列表解決方案中生成隨機列表的例子,我們直接把其轉換成集合的形式

from random import randint

a =[randint(-10

,10)for i in

range(1

,11)]

print

(a)b =

set(a)

#把列表a變成集合

我們再進行乙個特殊的篩選,我們要得到能被5整除的數,這裡要用到集合解析

from random import randint

a =[randint(-10

,10)for i in

range(1

,11)]

b =set

(a)#把列表a變成集合

print

(b)c =

print

(c)

方法和列表解析一模一樣!!!

所以,你學會了嘛

如何在列表,字典,集合中根據條件篩選資料?

如何在列表,字典,集合中根據條件篩選資料?1 過濾掉列表 3,9,1,10,20,2 中的負數 2 篩出字典中值大於90的項 3 篩出集合中能被3整除的元素 解決方案 1 列表 方法1 列表解析 x for x in data if x 0 from random import randint l ...

如何在列表, 字典, 集合中根據條件篩選資料

x for x in data if x 0 列表解析 filter lambda x x 0,data filter解析from random import randint randint?randint?列印函式資訊 l randint 10,10 for in range 10 x for x...

如何在列表 字典和集合中根據條件篩選資料

實際案例 在實際開發過程中,常常遇到如下幾種情況 故應學會在列表 字典和集合中根據條件篩選資料。1.列表 通常我們會採用如下 進行篩選 data 1,5,3,2,6,0,9 res for x in data if x 0 print res對此,我們可以使用python中的filter 具體做法如...