本節要點
掌握Python的常見資料類型
掌握常見的資料類型相關的函數
掌握使用Python完成邏輯判斷函數
課前準備
無
課程內容
資料處理
1.資料類型
類型名稱 | 英文 | 舉例 | 特徵 |
數字類型 | — | 整型、浮點型、布爾型 |
|
字串 | str | “Hello” , ‘Hello’ |
|
列表 | list | [ 1 , False , “123” ] [ 1 , [ 1 , 3 ,4 ] ] | 列表裏面可以是任何資料類型、可修改、可重複、有順序 |
字典 | dict | {“name”:“ziv”} {“name”: [“ziv” , “Yunlin” , “Charlie”] } | 字典的key可以是int、float、str,但必須唯一;value可以是任意資料類型。類似 json ,又不完全一樣,後面會詳細說明! |
元組(瞭解) | tuple | (1,2,3) | 一旦初始化就不能修改,tuple屬於不可變對象 |
集合(瞭解) | set | {1,2,3,5,2,2} | 無序和無重複元素的列表 |
2. 資料類型轉換
list("asd") #轉換成列表 a = [1,2,3] b = ["adsf","asdf","123"] dict(zip(a,b)) #轉換成字典
3. 字串的函數
函數名 | 用法 | 舉例 | 說明 |
index | str.index(str, beg=0, end=len(string)) | name.index(“l”,2) | 檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,該方法與 python find()方法一樣,只不過如果str不在 string中會報一個異常。 |
find | str.find(str, beg=0, end=len(string)) | name.find(“l”,2) | 檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,如果包含子字串返回開始的索引值,否則返回-1。 |
len | len( s ) | len(name) | 返回對象(字符、列表、元組等)長度或專案個數。 |
partition | str.partition(str) | name.partition(“-”) | partition() 方法用來根據指定的分隔符號將字串進行分割。 |
replace | str.replace(old, new[, max]) | name.replace(“l”,“L”) #替換 | 把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個參數max,則替換不超過 max 次。 |
del | del s | del name | 刪除對象。 |
split | str.split(str=“”, num=string.count(str)). | name.split(‘-’) | 透過指定分隔符號對字串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字串 |
name ="little-five" name[1] #切片 name[0:-2] #切片 name.index("l",2) #索引 name.find("l",2) #索引 len(name) #長度 del name #刪除 name.partition("-") #分割 name.replace("l","L") #替換 name.split('-')
4. 列表的函數
函數名 | 用法 | 舉例 | 說明 |
append | list.append(obj) | name.append(“alex”) | 用於在列表末尾新增新的對象。 |
extend | list.extend(list2) | name.extend([“alex”,“green”]) | 用於在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。 |
insert | list.insert(index, obj) | name.insert(1,“alex”) | 用於將指定對象插入列表的指定位置。 |
pop | list.pop(obj,[index=-1]) | name.pop(1) | 用於取出列表中的一個元素(預設最後一個元素),並且返回該元素的值。 |
remove | list.remove(obj) | name.remove(“Alex”) | 用於移除列表中某個值的第一個匹配項。 |
sorted | sorted(num) sorted(num,reverse=True) | sorted(iterable, key=None, reverse=False) | 對所有可迭代的對象進行排序操作。 |
name = list(["little-five","James","Alex"]) name[0:-1] #索引-->從0開始,而不是從一開始 name[1:] name[-1] name.append("alex") #追加,整體加入 name.extend(["alex","green"]) #擴展,分散加入 name.insert(1,"alex") #插入,索引加入 name.pop(1) #取出 a = name.pop(1) name.remove("Alex") #刪除 del name[1] sorted(num) sorted(num,reverse=True)
5. 字典的函數
#定義一個字典 info ={ "name":"little-five", "age":22, "email":"99426353*@qq,com" } info.pop("name") #取出value info["age"] #透過key取value #幾種遍歷方式 for each in info: print(each) for each in info.keys(): print(each) for each in info.values(): print(each) for each in info.items(): print(each)
注意: Json 和 字典非常類似,但是他們的value為布爾值時存在差異
布爾值類型 | 真 | 假 | 空 |
Json | true | false | null |
Python的字典 | True | False | None(這個準確來說是NoneType類型) |
在複製Json進Python的時候,我們需要手動進行處理,後面的課程我們會學習如何使用函數去進行處理!
邏輯函數
#if while靠布爾值判斷 if 1==1: print(123) a = 5 if a==1: print(123) elif a==2: print(321) else: print(111) while a > 1: print(a) a += 1 if a==10: continue if a==15: break else: print("gogogo") #for是最廣泛應用的 for i in range(0,4): print(i) else: #執行完for執行 print(123) #for 可以用於列表、字串、字典的索引