python基礎之基本數據結構

原文出處:http://blog.chinaunix.net/uid-25970404-id-3022959.html


一、序列(list)

list:一組有序對象的集合。對象可以是:字符串、列表、元組。

1.支持的操作

操作 返回值
s[i] index爲i的元素
s[i:j] i=<index=<j的切片
s[i:j:step] i=<index=<j,步長爲step的切片
len(s) 元素個數
min(s) 最小值
max(s) 最大值
sum(s[,initial]) 各項的和
all(s) 檢查所有項是否爲True
any(s) 檢查任意項是否爲True
s[i] = v 賦值
s[i:j] = v 切片賦值
s[i:j:step] 有步長切片賦值
del s[i] 刪除
del s[i:j] 刪除切片
del s[i:j:step] 刪除有步長切片

2.列表:通過內置函數list(s)生成

操作 作用
list(s) 將s轉換成一個列表
s.append(x) 將元素x追加到s末尾
s.extend(t) 將列表t追加到s末尾
s.count(x) s中x出現次數
s.index(x[,start[,stop]]) 返回值爲x的索引,搜索範圍可選
s.insert(i,x) 索引爲i處插入x
s.pop([i]) 返回並移除元素i,缺省時爲最後一個元素
s.remove(x) 移除元素x
s.reverse() 逆序列表
s.sort([key[,reverse]]) 排序。key爲可選關鍵字,reverse爲可選標誌

二、元組(tuple)

tuple:不可變的list,內置函數tuple()

s[i] index爲i的元素
s[i:j] i=<index=<j的切片
s[i:j:step] i=<index=<j,步長爲step的切片
len(s) 元素個數
min(s) 最小值
max(s) 最大值
sum(s[,initial]) 各項的和
all(s) 檢查所有項是否爲True
any(s) 檢查任意項是否爲True

三、集合(set)

set:一組唯一項的無序對象,對象不可變。

1.內置函數

set():創建可變集合。

frozenset():創建不可變集合。

2.通用方法

len(s) s中對象數
s.copy() s的副本
s.difference(t) 求差集
s.intersect(t) 求交集
s.isdisjiont(t) 若s和t沒有交集,返回True
s.issubset(t) 若s是t的子集,返回True
s.issuperset(t) 若s是t的超集,返回True
s.symmetric_difference(t) 求對稱差集
s.union(t) 求並集

3.可變集合類型方法

s.add(item) 將item添加到s中
s.clear() 刪除s中所有項
s.difference_update(t) 從s中刪除同時在t中的項
s.discard(item) 刪除item,若item不在s中,則無任何效果
s.intersection_update(t) 求交集,並將結果放入s中
s.pop() 返回並刪除一個元素
s.remove(item) 刪除item,若item不在s中,則引發KeyError異常
s.symmetric_difference_update(t) 求對稱差集,並將結果放入s中
s.update(t) 將t中所有項添加到s中

四、字典(dict)

dict:一個關聯數組,通過關鍵字(key)索引對象。

len(m) 對象數
m[k] 鍵值爲k的項
m[k] = x m[k]設置爲x
del m[k] 刪除m[k]
k in m 判斷k是否是m中的鍵
m.clear() 刪除m中所有項
m.copy() m的副本
m.fromkeys(s[,value]) 以序列s中的值爲鍵,以value爲值,創建一個dict
m.get(k[,v]) 返回m[k],若m[k]不存在,則返回v
m.items() 返回由(key,value)對組成 的一個序列
m.keys() 返回鍵值組成的一個序列
m.pop(k[,default]) 刪除m[k],若m[k]不存在,返回default
m.popitem() 刪除一個隨機(key,value),並返回
m.setdefault(k[,v]) 若找到m[k],返回m[k];否則,返回v,並設置m[k]爲v
m.update(b) 將b中所有對象添加到m中
m.values() 返回mzhong所有值的一個序列

五、字符串(string)

s.captitalize() 首字符變大寫
s.center(width[,pad]) 在長度爲width的字段內將字符串居中,pad爲填充字符
s.count(sub[,start[,end]]) 計算子串sub出現次數
s.decode([encoding[,errors]]) 解碼字符串,並返回Unicode字符串
s.encode([encoding[,errors]]) 返回字符串的編碼版本
s.endswith(suffix[,start[,end]]) 檢查字符串是否以suffix結尾
s.expandtabs([tabsize]) 以空格替換製表符
s.find(sub[,start[,end]]) 找到sub首次出現的位置,否則返回-1
s.format(*args,**kwargs) 格式化
s.index(sub[,start[,end]]) 找到sub首次出現的位置,否則報錯
s.isalnum() 是否爲字母或數字
s.isalpha() 是否爲字母
s.isdigit() 是否爲數字
s.islower() 是否是小寫
s.isspace() 是否是空格
s.istitle() 是否爲標題字符串(每個單詞的首字母大寫)
s.isupper() 是否爲大寫
s.jion(t) 以s爲分隔符連接序列t
s.ljust(width[,fill]) 在長度爲width字符串內左對齊
s.lower() 轉換爲小寫
s.lstrip([chrs]) 刪掉以chrs前面的空格
s.partition(seq) 以seq爲分隔符劃分字符串,返回一個元組(head,seq,tail)
s.replace(old,new[,maxreplace]) 替換子串
s.rfind(sub[,start[,end]]) 找到sub最後出現的位置
s.rindex(sub[,start[,end]]) 找到sub最後出現的位置,否則報錯
s.rjust(width[,fill]) 在長度爲width字符串內右對齊
s.rpartition(seq) 以seq爲分隔符劃分字符串,從結尾處搜索
s.rspilt([seq[,maxsplit]]) 以seq爲分隔符劃分字符串,從結尾處搜索
s.rstrip([chrs]) 刪掉以chrs尾部的空格
s.rspilt([seq[,maxsplit]]) 以seq爲分隔符劃分字符串
s.splitlines([keepends]) 將字符串分爲一個行列表(是否保留換行符)
s.startswith(prefix[,start[,end]]) 檢查字符串是否以prefix開始
s.strip([chrs]) 刪掉以chrs開頭或者尾部的空格
s.title() 將字符串轉換爲標題格式
s.translate(table[,deletechars]) 使用字符轉換表table轉換字符,刪除deletechars中的字符
s.upper() 轉換爲大寫
s.zfill(width) 在字符串的右邊填充0,使其長度爲width

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