容器(collection):是一種數據類型,可以存儲多個變量,是一種對象,存儲在堆中。
|-- list 列表 底層是基於雙向鏈表實現的,類似於java中的數組,具有下標 [1,2,3]
|-- set 集合 無序,不重複 hash {1,2,3}
|-- tuple 元組 不可變(個數,值已固定),有序的 (1,2,3)
|-- dict 字典 基於key : value 對應 {“你好”:123,“大家好”:1234}
列表
|-- element 容器的存儲的值
列表中元素如何訪問或者修改
可以利用下標來訪問元素或者修改元素
ls[小標] 小標從0
ls[2] # 訪問下標爲2的也就是第三個值
ls[3] = 200 # 將第四個值修改爲200
|-- 獲取list中元素的個數
len的全局函數
len(ls) # 獲取元素的個數
列表的遍歷
for循環
while循環,需要一個索引,從0開始
列表的常見方法:
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
|-- append(元素) # 將元素追加到list的末尾位置
|-- clear() # 清空列表
|-- copy() # 複製對象(淺拷貝對象)
|-- count() # 統計元素在列表中出現的次數
|-- extend() # 將一個列表合併到另外一個列表中
|-- index() # 查找元素在列表中的第一個索引位置,如果不存在,則拋出異常
|-- insert(index, item) # 插入元素,第一個參數是位置
|-- pop([index]) # 根據索引移除元素,如果沒有索引,默認移除最後一個
|-- remove(元素) # 根據值移除元素,移除一個
|-- reverse # 翻轉元素的順序
|-- sort # 排序,只能同類型比較 如果值字符串,是按照A
集合
集合
Set:無序的、不能重複的 hash算法
定義集合
s = {必須有元素}
s = set() # 全局函數
注意:set無序,所以沒有下標
常見方法:
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
|-- pop # 隨機移除元素
|-- remove #
|-- discard # 嘗試着移除元素
|-- intersection 交集 s1.intersection(s2)倆集合取交集
|-- difference 差集
|-- union 並集
元組
元組
()包裹的,特點是固定,不能發生變化的,是不可變類型,有序的
定義 t = (1,3,4,45,5)
tt = tuple((1,3,4,45,5))
通過下標訪問元素
|-- count()
|-- index()
注意:元組是不可變類型,也就意味着一點元組創建,元素的個數、值都將固定,不能修改、刪除等操作
如果子元素是可變類型,那就可以改變着個子元素。
字典
字典:
字典是一種鍵值對形式存儲的數據結構
鍵是唯一的,在python中鍵只能字符串類型
定義:
d = {"name": "劉帥哥", "age": 16, "address": "xian" }
dict({"name": "劉帥哥", "age": 16, "address": "xian" })
訪問值,通過key來訪問value
d["name"]
常見方法:
'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop',
'popitem', 'setdefault', 'update', 'values']
|-- clear
|-- copy
|-- get
|-- keys()
|-- values()
|-- items()
|-- pop(key) # 通過key,移除對應的鍵值對
|-- popitem # LIFO的順序
|-- update d1.update(d),將d中的內容加入到d1中
以上操作都可以在python交互界面實現。可以嘗試練習以下題目進行鞏固:
0.將列表ls = [1,2,3,4,5,5,5,5,6,4,56,6,67]去重,至少使用兩種方式實現。
1.兩個列表進行合併操作
2.使用列表判斷一個列表是否在另外一個列表中
3.列表的反轉
4.列表的排序
5.實現對列表的增刪改查功能
6.如何將0-10隨機存入列表中
7.求出元組(90,34,-23,18,12)中的最大值和最小值
8. 針對列表[90,34,-23,18,12]從小到大進行排序,
然後輸出排序後結果
以上練習可參考:參考答案