Python常用數據結構和包

Python字母的ASCII碼範圍

  • 小寫字母:[97, 122]
  • 大寫字母:[65, 90]

類和對象的概念

定義:類是一類事物的概括。
定義:對象是一類事物中的一個具體的實例。所謂實例就是指實際的例子。

舉例:人是一個類,小明是人這個類的一個對象(也叫實例)。

# 注意下列例子中,右側都是類的構造函數,由類名()構成,返回的是這個類的一個對象,賦值給左側的變量。
# 要注意,變量名不可於類名同名,至少要有大小寫的差別,不然編譯會出錯,因爲編譯器無法區分你寫的是對象還是類。
List = list()
Array = np.array()
Set = set()
Dict = dict()

list

注意:list是有序列表(即列表中的元素是有先後順序的,先append的在前面,後append的在後面。),但元素可以重複。

# list的兩種初始化方式
List = []
# 或
List = list()

list[start: end:step]

start:起始位置,不寫默認爲0

end:結束位置,不寫默認爲len(list)

step:步長,不寫默認爲1

例如

List[::] = List[:]
List[::2] 表示從第0位開始,間隔取值
List[1::2] 表示從第1位開始,間隔取值

list的特殊初始化方式

# 對OldList中的元素進行篩選,通過篩選的元素一起構成一個新的list賦值給NewList
NewList = [新item語句 for item in OldList and 條件語句]
# 這裏的新item語句可能是item也可能是與item有關的判斷語句的結果,條件語句是從OldList中挑選出item時附加的條件
# 舉例
NewList = [item for item in OldList and item > 0]
NewList = [item[i] > item[i+1] for i in range(len(OldList)-1) and i % 2 == 0]

list的切段

List[i:j] # 表示取List中[i,j)這個索引區間的所有元素,返回的是一個新的list對象。
List[i:] # 表示取List中[i,len(List))這個索引區間的所有元素,返回的是一個新的list對象。
List[:j] # 表示取List中[0,j)這個索引區間的所有元素,返回的是一個新的list對象。
List[-1] # 表示取List的倒數第一個元素,也就是最後一個元素。
List[:-1] # 表示取List中[0,-1)也就是[0,len(List)-1)這個索引區間的所有元素,返回的是一個新的list對象。

list的增加元素和刪除元素

List.append(a) # 向List這個list對象裏增加a這個元素
List.remove(a) # 從List中刪除第一個值等於a的元素
List.pop(i) # 從List中刪除索引爲i的元素,如果直接寫List.pop()表示刪除List的最後一位元素。
del List[i] # 從List中刪除索引爲i的元素
del List[i:j] # 從List中刪除[i,j)這個索引區間的元素
# 清空list
List.clear()
del List
# 從list中隨機刪除一個值
List.popitem()

list的常用判斷

all方法:如果一個list中所有的元素都不爲null也不爲0也不爲False,則all方法返回True,否則返回False。就是說all方法用於判斷一個list的元素是否都是非null,非0且非False的。

if all(List):
	....
else:
	.....

any方法:如果一個list中的元素不都爲null,0,或False,則any方法返回True,否則返回False。就是說,any方法用於檢查一個list中是否至少存在一個元素是非null,非0且非False的。

if any(List):
	....
else:
	.....

dict

字典用途廣泛,一般可以用來做分類統計個數。
例如,有一個數據序列,每一個元素是一個二元組,分別存有性別和姓名。現在我們要進行男女人數的統計。那麼就先初始化一個dict對象D,這個字典中有兩個key,分別是‘男’和‘女’,且初始的value都是0。然後,對這個數據序列進行遍歷如果性別爲‘男’則D[‘男’] = D[‘男’] + 1,否則 D[‘女’] = D[‘女’] + 1。

dict的初始化

Dict = dict()
Dict = {}

dict添加和刪除元素

# 在Dict中鍵爲key_now的地方放入value_now這個值
Dict[key_now] = value_now
# 從Dict中刪除指定元素
Dict.pop(key_now) # 從Dict中刪除鍵爲key_now的元素,即key_now:value_now這對鍵值對被刪除。
del Dict[key_now] # 從Dict中刪除鍵爲key_now的元素,即key_now:value_now這對鍵值對被刪除。
# 清空dict
Dict.clear()
del Dict
# 從Dict中隨機刪除一個鍵值對
Dict.popitem()

dict的3種遍歷方式

第一種:遍歷鍵

for key in Dict.keys():
	value = Dict[key]

第二種:遍歷值

for value in Dict.values():
	a = value

第三種:遍歷鍵值對(item)

for item in Dict.items():
	key = item.key
	value = item.value
或
for key, value in Dict.items():
	key_now, value_now = key, value

for循環的兩種方式

第一種方式:可以讀取也可以賦值。

for i in range(len(List)):
	a = List[i] # List中按照下標依次取出
	List[i] = 0 # List中按照下標依次賦值

第二種方式:只允許讀取,不允許賦值。
注意:這種循環方式不允許對item進行賦值

for item in List:
	a = item # List中按照下標依次取出
	# 注意這種循環方式不允許對item進行賦值

while循環

注意:python只有while循環沒有do-while循環

while 判斷語句:
	循環體
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章