容器解析
容器解析
容器:python官方提供的幾種容器
list:列表
set:集合
tuple:元組
dict:字典
列表:
ls = []
ls = list()
通過下標訪問元素
遍歷
常見的線性表:棧(stack)、佇列(queue)、陣列(array)、連結串列(List)
列表的常見方法:
[ ‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’,
‘pop’, ‘remove’, ‘reverse’, ‘sort’]
|-- append(元素) # 在列表尾部追加一個元素
|-- insert(索引位置, 元素) # 在特定的位置,新增元素
|-- clear() # 清除列表
|-- count(element) # 統計元素出現的次數
|-- index(element) # 查詢元素首次出現索引,如果不存在,則丟擲異常
|-- remove(element) # 通過元素移除對應的元素
|-- pop([index]) # 預設刪除最後一個元素,如果指定了位置,則刪除對應位置的元素
|-- reverse() # 翻轉列表順序
|-- copy() # 淺拷貝物件(堆物件的複製)
|-- extend(可迭代物件) # 合併列表
|-- sort() # 排序
多維列表:
[[],[],[],[],[]]
Set(集合):
也是python提供的一種容器,特點就是:無序、元素不能重複
1、怎麼定義set集合
s = {元素1, 元素2…}
s = set()
s = set({元素1, 元素2…})
s = set([元素1, 元素2…]) # 將list轉換為set物件
ls = list({元素1, 元素2…}) # 將set轉換為list物件
2、通過官方提供的方法來操作
[‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’,
‘intersection’, ‘intersection_update’, ‘isdisjoint’, ‘issubset’,
‘issuperset’, ‘pop’, ‘remove’, ‘symmetric_difference’,
‘symmetric_difference_update’, ‘union’, ‘update’]|-- add(元素) # 新增
|-- clear
|-- copy
|-- remove # 通過元素本身移除,如果元素不存在,則丟擲異常
|-- discard # 通過元素本身移除,如果元素不存在,則什麼都不做
|-- pop() # 隨機移除元素
|-- intersection # 交集
|-- union # 並集
|-- difference # 差集
|-- update # 合併集合
元組(tuple):
元組是一種不可變的資料型別。
元組中的元素不允許被修改和改變。
元組的定義:
t = () # 定義元組,但是不推薦這麼使用,因為元組不可變
t = (“春”, “夏”, “秋”, “冬”) # 建議定義時初始化值
t = tuple(()) #
注意:三種容器都可以使用對應的函式完成轉換
常見方法:
|-- count # 統計元素個數
|-- index # 查詢元素所在的索引
字典(dict):
dictionary,是一種使用key-value鍵值對的結構儲存資料的
python中key不能重複,否則會覆蓋資料
key的型別只能是字串,value型別任意
如何訪問字典值:
使用字典中的key獲取key對應的值
d[“name”] # 獲取name對應的值,如果該key不存在,則丟擲異常
d.get(“age”) # 也可以使用get方法,如果key不存在,則返回None
字典的常用方法:
‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’,
‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]
|-- clear
|-- copy
|-- fromkeys() # 將其他可迭代物件轉換為字典
|-- get
|-- items() # 迭代出每一個鍵值對[(),()]
|-- keys() #
|-- value()
|-- setdefault() # 新增key和value
|-- update
|-- popitem # Pairs are returned in LIFO (last-in, first-out) order
|-- pop(key) # 通過key,刪除key對應的鍵值對
相關文章
- docker 容器中解析 PHP 過程DockerPHP
- Laravel原始碼解析 — 服務容器Laravel原始碼
- Spring原始碼閱讀-IoC容器解析Spring原始碼
- spring原始碼解析之IOC容器(一)Spring原始碼
- Docker容器編排技術解析與實踐Docker
- SpringMVC原始碼解析 - HandlerAdater - ModelAndViewContainer上下文容器SpringMVC原始碼ViewAI
- Laravel修煉:服務容器繫結與解析Laravel
- spring原始碼解析之IOC容器(四)——屬性注入Spring原始碼
- spring原始碼解析之IOC容器(三)——依賴注入Spring原始碼依賴注入
- SpringBoot原始碼解析-內嵌Tomcat容器的啟動Spring Boot原始碼Tomcat
- 深入解析阿里 PouchContainer 如何實現容器原地升級阿里AI
- Spring原始碼解析02:Spring IOC容器之XmlBeanFactory啟動流程分析和原始碼解析Spring原始碼XMLBean
- IOC容器的繫結解析過程(繫結單例)單例
- spring原始碼深度解析— IOC 之 容器的基本實現Spring原始碼
- 容器類原始碼解析系列(四)---SparseArray分析(最新版)原始碼
- 深入解析 kubernetes 資源管理,容器雲牛人有話說
- Spring5原始碼解析系列一——IoC容器核心類圖Spring原始碼
- Spring5原始碼解析_IOC之容器的基本實現Spring原始碼
- 支付寶客戶端架構解析:iOS 容器化框架初探客戶端架構iOS框架
- spring原始碼解析之IOC容器(二)------載入和註冊Spring原始碼
- 支付寶客戶端架構解析:Android 容器化框架初探客戶端架構Android框架
- 支付寶客戶端架構解析:Android容器化框架初探客戶端架構Android框架
- Spring原始碼之容器的功能擴充套件和refresh方法解析Spring原始碼套件
- 容器類原始碼解析系列(三)—— HashMap 原始碼分析(最新版)原始碼HashMap
- DI 原理解析 並實現一個簡易版 DI 容器
- 技術解析系列 | PouchContainer 支援 LXCFS 實現高可靠容器隔離AI
- Java隔離容器之sofa-ark使用說明及原始碼解析Java原始碼
- 讓容器通訊變得簡單:深度解析 Containerd 中的 CNI 外掛AI
- Vector容器鑲套容器
- Java同步容器和併發容器Java
- 詳解Java 容器(第⑤篇)——容器原始碼分析 - 併發容器Java原始碼
- 容器類原始碼解析系列(一) ArrayList 原始碼分析——基於最新Android9.0原始碼原始碼Android
- IOC容器
- lxd容器
- spring容器Spring
- promise容器Promise
- 容器(collection)
- IoC 容器