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

来源:https://www.cnblogs.com/hujingnb/archive/2019/01/11/10254746.html
-Advertisement-
Play Games

下麵是常用的幾個系統類的常用方法整理: list: 列表[1, 2,...] set: 集合,無重覆元素{1, 2,...} str: 字元串 dict: 字典{a:'a', b:'b',...} TextIOWrapper: 文件對象 子集測試(允許不嚴格意義上的子集): 集合中所有的元素都是 t ...


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

 

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個位元組,預設為文件指針當前位置

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景:需要調用第三方介面,開啟某項任務,用Hutool代替了HttpClient 調用第三方介面,簡單粗暴。 代碼如下:import java.util.Date;import org.apache.commons.lang.time.DateFormatUtils;import cn.hutool ...
  • age = 23 count=0 while count<3: guess_age = int (input("My age:")) if age ==guess_age: print("nice, you got it") break elif age < guess_age: print("gu ...
  • pycharm2018.3版 永久激活 如需轉發,請註明出處:小婷兒的python https://www.cnblogs.com/xxtalhr/p/10258257.html 激活前準備工作 · 激活前請先關閉pycharm · 修改配置文件的時候你需要填寫你的安裝路徑 · 如果出現修改配置文件 ...
  • 1 # ----------- 首字母大寫 ---------- 2 test = "alex is a man" 3 v = test.capitalize() 4 print(v): Alex is a man 1 # ----------- 轉換全部字元串為小寫 ---------- 2 te... ...
  • SpringMVC一.. SpringMVC重要組件介紹 1. DispacherServlet:前端控制器,接收所有請求,(如果配置/不包含jsp) 2. HandlerMapping:解析請求格式,判斷希望要執行哪個方法 3. HandlerAdapter:負責調用具體的方法 4. ViewRe ...
  • 有群友問過,是什麼原因使我開始寫技術公眾號,又是什麼動力讓我堅持寫的。 在我看來,寫作是一件不能敷衍的事,通過寫作來學習,反而要比單純地學習的效果要好。為了寫成一篇“拿得出手”的文章,我要反覆查找資料,閱讀與思考,拆解與整合,最終寫成的時候,也是知識的拼圖成型的時候。 所以,對我來說,寫作是一種咀嚼 ...
  • Python中的常用的系統模塊中部分函數等的整理 random: 隨機數 sys: 系統相關 os: 系統相關的 subprocess: 執行新的進程 multiprocessing: 進程相關 threading: 線程相關 pickle: 將對象轉換成二進位文件 time: 時間 datetim ...
  • 前言 GDB(GNU Debugger)是UNIX及UNIX-like下的強大調試工具,可以調試ada, c, c++, asm, minimal, d, fortran, objective-c, go, java,pascal等語言。本文以C程式為例,介紹GDB啟動調試的多種方式。 哪類程式可被 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...