Python 06 推導資料

2022-04-25 09:20:11 字數 1343 閱讀 9604

本章主要展示用python如何處理目標資料,包括統一資料格式、去除重複資料、資料排序

在處理資料的過程中,用到了列表推導,列表分片和建立集合。

統一資料格式:

處理統一資料的過程中,需要建立乙個函式,使用前面章節中學到的for迴圈遍歷每個列表中的資料,然後用if...else語句,將中間不符合統一規範的字元替換成統一字元即可,**如下:

def sanitize(time_string):

if "-"in time_string:

splitter="-"

elif ":"in time_string:

splitter=":"

else:

print time_string

(mins,secs)=time_string.split(splitter)

return (mins+"."+secs)

同意資料格式後,可對已知資料進行排序,排序會用到兩個方法,sort()和sorted(),這兩個bif都時預設按照公升序對資料進行排列,要以降序排列資料,需要向sort()或sorted()傳入引數reverse=true

推導資料:

將乙個列表轉換為另乙個列表,需要做一下四件事:

1、建立乙個新列表來存放轉換後的資料

2、迭代處理原列表中的各個資料項

3、每次迭代時完成轉換

4、將轉換後的資料追加到新的列表

推導列表的好處是避免重複的去建立列表

比如,我要使用上面統一資料的函式,將已有列表中的資料進行統一資料格式,用推導資料的方式,就不必先建立乙個空列表,再來處理資料,一行**就可以搞定:

new_link=[sanitize(each_item) for each_item in old_link]

new_link就是建立的新列表,sanitize()是一種轉換,each_item就是目標識別符號,old_link指現有列表。

去除重複資料:

正常的去除列表重複資料的邏輯是:迭代處理原列表中的各資料,從第乙個資料開始,向另乙個列表中追加,如果另乙個列表中已有,則不再追加進去。這樣的話需要乙個小的迭代迴圈實現。

不過python有乙個「工廠」函式set()可以直接實現資料的去重。

工廠函式:用於建立某種型別的新的資料項,估計是建立者覺得他的作用和工廠差不多,因此給他取名工廠函式吧。

列表分片:

在菜鳥教程中,列表的分片已經講的很詳細了,就是指,輸出列表中,從起始位置開始,到結束位置的列表資料。

嗯,這一節還是收穫頗多的,雖然距離上一節跨度蠻大,後面要追上來繼續學習了。

晚安~~ 

Python 06 迴圈語句

python的迴圈語句,程式在一般情況下是按順序執行的。程式語言提供了各種控制結構,允許更複雜的執行路徑。迴圈語句允許我們執行乙個語句或語句組多次,下面是在大多數程式語言中的迴圈語句的一般形式 python提供了for迴圈和while迴圈 在python中沒有do.while迴圈 迴圈型別 描述wh...

Python 06 資料結構之列表

2.列表 list 3.通用操作 4.修改列表 5.列表的方法 6.遍歷列表 7.練習 1.1 基本概念 序列是python中最基本的一種資料結構。序列用於儲存一組有序的資料,所有的資料在序列當中都有乙個唯一的位置 索引 並且序列中的資料會按照新增的順序來分配索引 資料結構指計算機中資料儲存的方式 ...

Python06 階段性作業

我想使用以下變數,輸出這樣乙個結果人工智障說 3.8 1等於4 word 3.8 number 1 sentence 人工智障說 3.8 1等於 輸出結果 人工智障說 3.8 1等於4其中,輸出結果中的4,是由字串型變數 word 3.8 加上整數型變數 number 1 得出來的 參考 word ...