python列表、元組、集合、字典整理

特征對比

下面是Python中列表、元組、集合和字典的特征對比表格:

特征列表 (List)元組 (Tuple)集合 (Set)字典 (Dictionary)
定義符號[ ]( ){ }{ }
可變性可變不可變可變可變
有序性有序有序無序無序
元素訪問通過索引訪問,索引從0開始通過索引訪問,索引從0開始不支持索引訪問通過鍵訪問
元素類型可以包含任意類型的元素可以包含任意類型的元素可以包含任意類型的元素鍵必須是不可變類型,值可以是任意類型
聲明示例my_list = [1, 'apple', True]my_tuple = (1, 'apple', True)my_set = {1, 'apple', True}my_dict = {'name': 'Alice', 'age': 30}
可變操作添加、刪除、修改元素不支持添加、刪除、修改元素添加、刪除元素添加、刪除、修改鍵值對

說明:

  • 可變性:列表、集合和字典是可變的,可以通過增刪改操作來修改其內容;元組是不可變的,一旦創建后不能被修改。
  • 有序性:列表和元組是有序的,元素按照插入順序排列;集合和字典是無序的,元素沒有固定順序。
  • 元素訪問:列表和元組可以通過索引訪問元素;集合不支持索引訪問,只能通過迭代或特定方法訪問元素;字典通過鍵來訪問對應的值。
  • 元素類型:列表、元組、集合和字典都可以包含任意類型的元素;字典中的鍵必須是不可變類型,而值可以是任意類型。
  • 聲明示例:各種數據結構的聲明方式和示例。
  • 可變操作:列表可以進行添加、刪除、修改等操作;元組不能進行任何修改操作;集合可以進行添加和刪除元素的操作;字典可以進行添加、刪除和修改。

常用方法

列表 (List)

方法描述參數說明使用示例
append(x)在列表末尾添加元素 xx:要添加的元素my_list.append(10)
extend(iterable)將可迭代對象 iterable 的元素添加到列表末尾。iterable:一個可迭代對象,如列表、元組等my_list.extend([20, 30])
insert(i, x)在索引 i 處插入元素 xi:要插入的索引位置; x:要插入的元素my_list.insert(1, 'apple')
remove(x)移除列表中第一個值為 x 的元素。x:要移除的元素my_list.remove('apple')
pop([i])移除并返回索引為 i 處的元素。如果未指定索引,默認移除并返回最后一個元素。i:可選的索引位置my_list.pop()my_list.pop(0)
clear()移除列表中的所有元素。無參數my_list.clear()
index(x)返回第一個值為 x 的元素的索引。x:要查找的元素my_list.index('apple')
count(x)返回值為 x 的元素在列表中出現的次數。x:要計數的元素my_list.count('apple')
sort(key=None, reverse=False)對列表進行排序。key:排序的規則函數; reverse:是否逆序排序my_list.sort(reverse=True)
reverse()反轉列表中的元素。無參數my_list.reverse()
copy()返回列表的淺拷貝。無參數new_list = my_list.copy()

元組 (Tuple)

元組是不可變的,因此沒有修改元素的方法。

方法描述參數說明使用示例
count(x)返回值為 x 的元素在元組中出現的次數。x:要計數的元素my_tuple.count('apple')
index(x)返回第一個值為 x 的元素的索引。x:要查找的元素my_tuple.index('apple')

集合 (Set)

方法描述參數說明使用示例
add(x)向集合中添加元素 xx:要添加的元素my_set.add(10)
update(iterable)將可迭代對象 iterable 的元素添加到集合中。iterable:一個可迭代對象,如列表、元組等my_set.update([20, 30])
remove(x)移除集合中的元素 x,如果不存在會拋出 KeyError。x:要移除的元素my_set.remove('apple')
discard(x)移除集合中的元素 x,如果不存在不會拋出異常。x:要移除的元素my_set.discard('apple')
pop()隨機移除并返回集合中的一個元素。無參數my_set.pop()
clear()移除集合中的所有元素。無參數my_set.clear()
union(*others)返回一個新集合,包含所有集合和可迭代對象 others 中的元素。others:一個或多個集合或可迭代對象new_set = my_set.union(other_set)
intersection(*others)返回一個新集合,包含所有集合和可迭代對象 others 中共同的元素。others:一個或多個集合或可迭代對象new_set = my_set.intersection(other_set)
difference(*others)返回一個新集合,包含所有在當前集合中但不在可迭代對象 others 中的元素。others:一個或多個集合或可迭代對象new_set = my_set.difference(other_set)
symmetric_difference(other)返回一個新集合,包含所有在當前集合或 other 中,但不同時在兩者中的元素。other:另一個集合或可迭代對象new_set = my_set.symmetric_difference(other_set)

字典 (Dictionary)

方法描述參數說明使用示例
clear()移除字典中的所有元素。無參數my_dict.clear()
copy()返回字典的淺拷貝。無參數new_dict = my_dict.copy()
fromkeys(keys, value=None)創建一個新字典,使用 keys 中的元素作為鍵,value 作為值(默認為 None)。keys:作為鍵的可迭代對象; value:作為值的默認值new_dict = dict.fromkeys(['name', 'age'], 'unknown')
get(key, default=None)返回鍵 key 對應的值,如果鍵不存在則返回 defaultkey:要獲取值的鍵; default:鍵不存在時返回的默認值value = my_dict.get('name', 'Unknown')
items()返回字典的鍵值對視圖。無參數items_view = my_dict.items()
keys()返回字典的鍵視圖。無參數keys_view = my_dict.keys()
values()返回字典的值視圖。無參數values_view = my_dict.values()
pop(key, default=None)移除并返回鍵為 key 的元素,如果鍵不存在則返回 defaultkey:要移除的鍵; default:鍵不存在時返回的默認值value = my_dict.pop('name', 'Unknown')
popitem()移除并返回任意一個鍵值對元組。無參數key_value_pair = my_dict.popitem()
setdefault(key, default=None)返回鍵 key 對應的值,如果鍵不存在則將 default 設為該鍵的值并返回。key:要獲取值的鍵; default:鍵不存在時設置的默認值value = my_dict.setdefault('name', 'Unknown')
update([other])更新字典,將另一個字典或可迭代對象 other 的鍵值對添加到當前字典中。other:一個字典或可迭代對象my_dict.update({'name': 'Alice', 'age': 30})

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37662.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37662.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37662.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一個啟動腳本例子

一、全部代碼 #!/bin/bash DATE$(date %Y%m%d)SOURCE"abc.jar" TARGET"backup/abc.jar.jew.$DATE"if [ -f "$SOURCE" ]; thencp "$SOURCE" "$TARGET" firm -f abc.jar mv abc_1.jar abc.jarpidNumps -ef | grep $SOURCE |…

【源碼+文檔+調試講解】基于vue的線上點餐系統

摘要 隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統的實施在技術上已逐步成熟。本文介紹了線上點餐系統的開發全過程。通過分析線上點餐系統管理的不足,創建了一個計算機管理線上點餐系統的方案。文章介紹了線上點餐系統的系統分析部分&…

電腦提示vcomp140.dll缺失怎么解決?vcomp140.dll是什么文件?

當你的電腦提示vcomp140.dll缺失的時候,你就應該要注意了,因為這個提示的出現,代表你的某個程序開不了!想要程序能正常運行,那么只要修復好這個vcomp140.dll文件就可以了,下面我們就來給大家詳細的說說說vc…

超詳細之IDEA上傳項目到Gitee完整步驟

1. 注冊gitee 賬號密碼,gitee官網地址:Gitee官網,注冊完成后,登錄。 2. 創建倉庫,在主頁左下角有新建按鈕,點擊新建后會進入到此頁面填寫倉庫信息。 3. 創建完成后復制倉庫地址 4. 打開IntelliJ IDEA新建或…

python自動化之schedule

目錄 代碼(以每5秒1次為例): 每5分鐘1次 每2小時1次 每天18:00執行 用到的庫:schedule,time 實現的效果:按秒來運行任務,按分鐘來運行任務,按小時來運行任務,按天來運行任務 代…

鴻蒙3.0WebView網絡錯誤問題

背景,榮耀9x,混淆才會出這個問題。 [ERROR:ssl_client_socket_impl.cc(981)] handshake failed; returned -1, SSL error code 1, net_error -2 NetError.java int SSLClientSocketImpl::DoHandshake() {crypto::OpenSSLErrStackTracer err_tracer(FRO…

Oracle新特性速遞:未來數據庫技術的無限可能

文章目錄 一、自治數據庫:智能化與自動化的革命二、機器學習集成:智能數據分析的新境界三、區塊鏈技術:確保數據完整性與透明性四、云原生數據庫:靈活擴展與快速部署五、人工智能優化器:智能查詢執行計劃《Oracle從入門…

centos7搭建zookeeper 集群 1主2從

centos7搭建zookeeper 集群 準備前提規劃防火墻開始搭建集群192.168.83.144上傳安裝包添加環境變量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 啟動 集群 準備 vm 虛擬機centos7系統zookeeper 安裝包FinalShell或者其他shell工具 前提 虛擬機安裝好3臺cen…

為什么我的Skype點數不見了?如何重新激活 Skype 點數?

您超過180天沒有使用過點數打電話功能,點數暫時封存在您的賬戶里面,需要您手動激活(目前必須要登錄網頁版skype) 可再次使用。 如何重新激活 Skype 點數? 登錄到你的帳戶 . 選擇 重新激活信用額度 .注意: …

MiniTest

1.編輯case文件first_test.py import minium class FirstTest(minium.MiniTest): def test_get_system_info(self): 2.編輯配置文件config.json { "project_path": "path/to/project", "dev_tool_path": "path/to/cli", "…

【Python】 Joblib:高效的Python作業調度和緩存工具

那年夏天我和你躲在 這一大片寧靜的海 直到后來我們都還在 對這個世界充滿期待 今年冬天你已經不在 我的心空出了一塊 很高興遇見你 讓我終究明白 回憶比真實精彩 🎵 王心凌《那年夏天寧靜的海》 在Python數據科學和機器學習中,處理…

喜訊!安全狗榮獲“2023年網絡安全技術支撐優秀單位”稱號

6月6日,由中共廈門市委網絡安全和信息化委員會辦公室(以下簡稱“廈門市委網信辦”)主辦的2023年網絡安全技術支撐優秀單位頒獎儀式在廈門成功舉行。 作為國內云原生安全領導廠商,安全狗受邀出席此次活動。 會上,安全狗…

預約小程序源碼,云開發技術,無需服務器

介紹: 很多企業的業務都需要通過服務預約來完成,比如酒店、美容、家政等等。 但很多商家因缺少合適的服務預訂工具,而不知道如何讓客戶盡快預約。 這種情況下,制作一個自己的預約小程序,客戶只需要掃碼或者在微信里…

Eureka的橋梁:服務消費者交互全解析

Eureka的橋梁:服務消費者交互全解析 在微服務架構中,服務發現是確保服務間有效通信的關鍵機制。Eureka,作為Netflix開源的服務發現框架,扮演著服務注冊中心的角色,為服務消費者和服務提供者提供了一個動態的服務注冊與…

調用基類的純虛函數,如何知道純虛函數會調用哪個派生類(子類)中的實現。

在 C 中,調用基類的純虛函數實際上是通過運行時多態性來決定調用哪一個派生類的實現。這種機制是通過虛函數表(vtable)和虛函數指針(vptr)實現的。下面我們來詳細探討一下這個過程。 虛函數表和虛函數指針 虛函數表&a…

開放簽電子簽章系統(企業版)V2.0.5版本詳細更新內容

本次版本迭代間隔1月之久,新功能主要是增加文件的簽署記錄并生成報告,其次優化支持非A4規格的簽約文件(這個費時很久,主要原因是推翻之前的位置計算的邏輯,重新計算坐標位置),詳細更新內容如下&…

WebKit與CSSOM視圖模塊:探索現代Web布局的協同進化

WebKit與CSSOM視圖模塊:探索現代Web布局的協同進化 在當今快速發展的Web技術領域,WebKit作為眾多流行瀏覽器的渲染引擎,其對CSS對象模型(CSSOM)視圖模塊的支持至關重要。CSSOM視圖模塊為開發者提供了一組豐富的API&am…

HarmonyOS--開發者證書地址

初級證書:華為開發者學堂 高級證書:華為開發者學堂

【Qt】QSettings使用

1. 介紹 QSettings類提供持久的跨平臺的應用程序設置存儲。 2. 使用 /*********************************************************/ /* main.cpp */ int main(int argc, char *argv[]) {QApplication a(argc, argv);//Settings設置a.setOrganizationName("custom"…

【筆記】通過shell腳本自動部署項目(未完成)

然后將gitee倉庫上的代碼克隆至linux上 如果不知道gitee倉庫怎么上傳代碼移步【筆記】如何在gitee倉庫上傳idea代碼-CSDN博客 寫到一半不想寫了自己去復習p138-139吧