原文出處: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 |