1. 程式人生 > >Python 部分系統類的常用方法整理

Python 部分系統類的常用方法整理

index 叠代 小寫 其余 cti 交集 根據 translate 編碼

下面是常用的幾個系統類的常用方法整理:

  • list: 列表[1, 2,...]
  • set: 集合,無重復元素{1, 2,...}
  • str: 字符串
  • dict: 字典{a:‘a‘, b:‘b‘,...}
  • TextIOWrapper: 文件對象

list: 列表[1, 2,...]
append(x) 將x添加到序列的末尾
extend(t) 將t的內容添加到列表末尾,t可以為列表
insert(i, x) 將x插入到列表i處
count(x) 統計x在列表中出現的次數
index(x, [start, end]) 返回x在列表中第一次出現的下標(指定開始位置(包括)與結束位置(不包括))
remove(x) 將列表中第一個與x匹配的項刪除
pop([i]) 在列表中刪除i,無參表示刪除最後一個,返回刪除的元素
reverse() 將列表前後顛倒
sort() 對列表進行排序,默認從小到大
切片
lists = [0, 1, 2, 3, 4, 5]
# 取下標1至下標4之間的數字,包括1,不包括4([1, 2, 3])
lists[1:4]
# 取下標1至-1的值,不包括-1([1, 2, 3, 4])
lists[1:-1]
# 效果與lists[0:3]相同
lists[:3]
# 取下標3到最後一個
lists[3:]
# 下標從0開始,每次加2([0, 2, 4])
lists[0::2] # 效果與lists[0::2]相同 lists[::2]

set: 集合,無重復元素{1, 2,...}</>
issubset(t)

子集測試(允許不嚴格意義上的子集): 集合中所有的元素都是 t 的成員,等價於 s <= t
子集測試(嚴格意義上): s != t 而且 s 中所有的元素都是 t 的成員,等價於 s < t

issuperset(t)

超集測試(允許不嚴格意義上的超集): t 中所有的元素都是集合的成員,等價於 s >= t
超集測試(嚴格意義上): s != t 而且 t 中所有的元素都是 s 的成員,等價於 s > t

union(t) 合並操作: 將t中於集合不重復的元素添加到集合中,等價於 s | t
intersection(t) 交集操作: 保留集合於t中都有的元素,等價於 s & t
difference(t) 差分操作: 在集合中存在,在 t 中不存在的元素,等價於 s - t
symmetric_difference(t) 對稱差分操作: 保留集合和t中的非共有的元素,等價於 s ^ t
update(t) 將 t 中的元素添加到集合中,等價於 s |= t
intersection_update(t) 交集修改操作: 僅剩下集合和t中共有的成員,等價於 s &= t
difference_update(t) 差修改操作: 剩下僅屬於屬於但不屬於t的成員,等價於 s -= t
symmetric_difference_update(t) 對稱差分修改操作: 剩下僅屬於集合或僅屬於t的成員,等價於 s ^= t
add(obj) 加操作: 將 obj 添加到集合
remove(obj) 刪除操作: 將 obj 從集合中刪除,如果集合中不存在 obj,將引發異常
discard(obj) 丟棄操作: 將 obj 從集合中刪除,如果集合中不存在 obj,也沒事兒^_^
pop() 彈出操作: 移除並返回集合中的任意一個元素
clear() 清除操作: 清除集合中的所有元素
copy() 返回集合的拷貝(淺復制)

str: 字符串
capitalize() 第一個字符改為大寫
casefold() 所有字符改為小寫
center(width) 將字符串居中,並使用空格填充至長度 width 的新字符串
count(sub[, start[, end]]) 返回 sub 在字符串裏邊出現的次數,start 和 end 參數表示範圍,可選。
encode(encoding=‘utf-8‘, errors=‘strict‘) 以 encoding 指定的編碼格式對字符串進行編碼。
endswith(sub[, start[, end]]) 檢查字符串是否以 sub 子字符串結束,如果是返回 True,否則返回 False。start 和 end 參數表示範圍,可選。
expandtabs([tabsize=8]) 把字符串中的 tab 符號(\t)轉換為空格,如不指定參數,默認的空格數是 tabsize=8。
find(sub[, start[, end]]) 檢測 sub 是否包含在字符串中,如果有則返回索引值,否則返回 -1,start 和 end 參數表示範圍,可選。
index(sub[, start[, end]]) 跟 find 方法一樣,不過如果 sub 不在 string 中會產生一個異常。
isalnum() 如果字符串至少有一個字符並且所有字符都是字母或數字則返回 True,否則返回 False。
isalpha() 如果字符串至少有一個字符並且所有字符都是字母則返回 True,否則返回 False。
isdecimal() 如果字符串只包含十進制數字則返回 True,否則返回 False。
isdigit() 如果字符串只包含數字則返回 True,否則返回 False。
islower() 如果字符串中至少包含一個區分大小寫的字符,並且這些字符都是小寫,則返回 True,否則返回 False。
isnumeric() 如果字符串中只包含數字字符,則返回 True,否則返回 False。
isspace() 如果字符串中只包含空格,則返回 True,否則返回 False。
istitle() 如果字符串是標題化(所有的單詞都是以大寫開始,其余字母均小寫),則返回 True,否則返回 False。
isupper() 如果字符串中至少包含一個區分大小寫的字符,並且這些字符都是大寫,則返回 True,否則返回 False。
join(sub) 以字符串作為分隔符,插入到 sub 中所有的字符之間。
ljust(width) 返回一個左對齊的字符串,並使用空格填充至長度為 width 的新字符串。
lower() 轉換字符串中所有大寫字符為小寫。
lstrip() 去掉字符串左邊的所有空格
partition(sub) 找到子字符串 sub ,把字符串分成一個 3 元組 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 則返回 (‘原字符串‘, ‘‘, ‘‘)
replace(old, new[, count]) 把字符串中的 old 子字符串替換成 new 子字符串,如果 count 指定,則替換不超過 count 次。
rfind(sub[, start[, end]]) 類似於 find() 方法,不過是從右邊開始查找。
rindex(sub[, start[, end]]) 類似於 index() 方法,不過是從右邊開始。
rjust(width) 返回一個右對齊的字符串,並使用空格填充至長度為 width 的新字符串。
rpartition(sub) 類似於 partition() 方法,不過是從右邊開始查找。
rstrip() 刪除字符串末尾的空格。
split(sep=None, maxsplit=-1) 不帶參數默認是以空格為分隔符切片字符串,如果 maxsplit 參數有設置,則僅分隔 maxsplit 個子字符串,返回切片後的子字符串拼接的列表。
splitlines(([keepends])) 按照 ‘\n‘ 分隔,返回一個包含各行作為元素的列表,如果 keepends 參數指定,則返回前 keepends 行。
startswith(prefix[, start[, end]]) 檢查字符串是否以 prefix 開頭,是則返回 True,否則返回 False。start 和 end 參數可以指定範圍檢查,可選。
strip([chars]) 刪除字符串前邊和後邊所有的空格,chars 參數可以定制刪除的字符,可選。
swapcase() 翻轉字符串中的大小寫。
title() 返回標題化(所有的單詞都是以大寫開始,其余字母均小寫)的字符串。
translate(table) 根據 table 的規則(可以由 str.maketrans(‘a‘, ‘b‘) 定制)轉換字符串中的字符。
upper() 轉換字符串中的所有小寫字符為大寫。
zfill(width) 返回長度為 width 的字符串,原字符串右對齊,前邊用 0 填充。
format(a, b, ...)

使用a替換字符串中的{0}位置

# "ic id"
"{a} id".format(a=ic)
# 27.7GB
"{0:.1f}{1}".format(27.658, GB)
格式化

語法: "%c %c" % (97, 98) 將%占位符使用後邊的值格式化

  • %c: 使用ascll碼格式化
  • %s: 字符串
  • %r: 字符串,與%s不同的是 %r會為字符串加上單引號, \n等不會翻譯,原文輸出
  • %d: 整數
  • %o: 無符號八進制數
  • %x: 無符號十六進制數
  • %X: 無符號十六進制數,字符大寫
  • %f: 定點數,可指定小數點後的精度
  • %e: 用科學記數法格式化定點數
  • %g: 根據值的大小決定使用%f或%e

dict: 字典{a:‘a‘, b:‘b‘,...}
fromkeys(s, [v]) 將指定的值與每個鍵進行配對,值不給時默認為None
keys() 返回字典所有的鍵
values() 返回字典所有的值
items() 返回字典所有的項
get(a, [b]) 返回字典中鍵為a的值,若不存在返回b(默認None)
setdefault(a, [b]) 返回字典中鍵為a的值,若不存在將 a:b 添加進字典(默認a:None)
clear() 清空字典
copy() 將字典拷貝一份
pop(a) 將鍵為a的鍵值對刪除,並返回該值
popitem() 從字典取出一組鍵值對刪除,並以元組的形式返回

TextIOWrapper: 文件對象
close() 關閉文件
read([size=-1]) 從文件讀取size個字符,當未給定size或給定負值時,讀取剩余所有字符,然後作為字符串返回
readline([size=-1]) 從文件中讀取並返回一行(遇到‘\n‘),如果有size則返回size個字符
readlines() 把文章內容以換行符分割,並生成list格式(數據量大的時候不建議用)
write(str) 將字符串str寫入文件
writelines(seq) 向文件寫入字符串序列seq,seq應該是一個返回字符串的可叠代對象
seek(offset, from) 在文件中移動文件指針,從from(0代表文件起始位置,1為當前位置,2為文件末尾)偏移offset個字節
tell() 返回當前在文件中的位置
truncate([size=file.tell()]) 截取文件到size個字節,默認為文件指針當前位置

Python 部分系統類的常用方法整理