2.2 Python 資料類型與常見函數
本節要點
- 掌握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 可以用於列表、字串、字典的索引