目錄
一、列表 list
1.1基本語法
1.2 常用操作方法
1.3 列表的遍歷
二、元組 tuple
特點:
三、字符串
常用操作方法:
四、序列
操作方法:切片
五、元素
特點:
?基本語法:
集合常用功能:
六、字典
定義:
注意事項:
什么是容器
????????可以存儲多個元素的python數據類型
python有哪些數據容器
? ? ? ? list(列表)、tuple(元組)、str(字符串)、set(集合)、dict(字典)
一、列表 list
1.1基本語法
# 定義變量
變量名稱 = [元素1, 元素2,... ]
# 空變量
變量名稱 = [ ]
變量名稱 = list()
# 嵌套
變量名稱 = [ [ 元素1,元素2,... ] , [ 元素1,元素2,... ]?]
#下標索引
左到右從0開始,右到左從-1開始
代碼示例
list_name = ["aaa", "bbb", "ccc"]
print(list_name)
print(type(list_name))list_name = ["aaa", 123, True]
print(list_name)
print(type(list_name))list_name = [ [1,2,3], [4,5,6] ]
print(list_name[1][1]) # 5
print(list_name[1][-2]) # 5
print(list_name)
print(type(list_name))
1.2 常用操作方法
?查找某元素在列表中的下標索引
語法:列表.index(元素)
修改特定位置的元素值
語法:列表.index [?下標 ]?= 值
指定位置插入元素
語法:列表.insert?( 下標 ,值?)
追加元素,指定元素插入列表尾部
語法1:列表.append( 元素 )
語法2:列表.extend ( 其他數據容器?)
刪除元素
語法1:del 列表[ 下標?]
語法2:列表.pop( 下標?)? # 刪除指定元素后返回這個元素的內容
刪除元素在列表中第一個匹配的內容
語法:列表.remove( 元素 )
清空列表元素
語法:列表.clear()
統計某元素在列表中的數量
語法:列表.count( 元素 )
統計列表中的所有元素個數
語法:len(列表)
代碼示例?
list_name = [1, 2, 3, 4, 5]
print(list_name.index(3)) # 2list_name[2] = -3
print(list_name) # [1, 2, -3, 4, 5]list_name.insert(2, 3)
print(list_name) # [1, 2, 3, -3, 4, 5]list_name.append(6)
print(list_name) # [1, 2, 3, -3, 4, 5, 6]list_name2 = [7, 8]
list_name.extend(list_name2)
print(list_name) # [1, 2, 3, -3, 4, 5, 6, 7, 8]del list_name[3]
print(list_name) # [1, 2, 3, 4, 5, 6, 7, 8]
num = list_name.pop(7)
print(list_name,num) # [1, 2, 3, 4, 5, 6, 7] 8list_name.remove(7)
print(list_name) # [1, 2, 3, 4, 5, 6]print(list_name.count(2)) # 1
print(len(list_name)) # 6list_name.clear()
print(list_name) # []
1.3 列表的遍歷
while遍歷?
while_list = [1,2,3]
index = 0
while index < len(while_list):element = while_list[index]print(f"列表while_list元素:{element}")index += 1
?for遍歷
for_list = [1,2,3,4,5]
for element in for_list:print(f"列表for_list元素:{element}")
二、元組 tuple
特點:
- 內容不可修改 (若內部嵌套一個 list 則可修改 list 中的內容)
- 語法: 變量名稱 = ( 元素1 , 元素2,...)
- 單個元素的元組:? 變量名稱 = ( 元素 ,)
- 與 list 基本相同
- 支持for循環和while循環
三、字符串 str
常用操作方法:
將字符串內的全部字符串1,改為字符串2。不會修改原字符串,會得到一個新的字符串:
字符串.replace("字符串1" ,"字符串2")
對字符串進行分割,會得到一個新的列表
字符串.split(字符串)
?
其他操作方法與之前相同
代碼示例
s = "jian yi"
new_s = s.replace("i", "o")
print(f"新字符串為{new_s}") # 新字符串為joan yo
s_list = s.split(" ")
print(f"分割前的字符串為:{s}、分割后:{s_list}、分割后類型為:{type(s_list)}") # 分割前的字符串為:jian yi、分割后:['jian', 'yi']、分割后類型為:<class 'list'>
四、序列
概念:內容連續、有序,可使用下標索引的一類數據容器。
列表、元組、字符串,均可視為序列
操作方法:切片
序列[起始下標:結束下標:步長]? # 步長默認為1
?代碼示例
list1 = [1,2,3,4,5,6,7]
new_list1 = list1[1:5]
print(f"{new_list1}")list1 = [1,2,3,4,5,6,7]
new_list1 = list1[5:1:-1]
print(f"{new_list1}")str1 = "0123456789"
new_str1 = str1[::-1] # 等同于反轉
print(f"{new_str1}")
五、集合 set
特點:
之前所學容器對內容都可重復的、而元素不支持重復元素
不支持下標索引訪問
?基本語法:
#? 定義集合字面量
{元素1 ,元素2,...}
#? 定義集合變量
變量名稱 = {元素1 ,元素2,...}
#? 定義空集合
變量名稱 = set( )
集合常用功能:
集合內添加一個元素:集合.add(元素)
移除集合內指定元素:集合.remove(元素)
從集合中隨機取出一個元素:集合.pop()
將集合清空:集合.clear()
得到新集合,內含兩個集合的差集,原有的2個集合內容不變:集合1.difference(集合2)
集合1中刪除集合2中存在的元素,集合1會被修改集合2不變:集合1.difference_update(集合2)
兩集合相加(不含重復元素):集合1.union(集合2)
得到集合中元素數量:len(集合)
?代碼示例
# 集合的定義
set1 = {1,2,3,4,5,6,7,8,8}
set2 = set()
print(f"set1的內容:{set1},類型為:{type(set1)}") # set1的內容:{1, 2, 3, 4, 5, 6, 7, 8},類型為:<class 'set'>
print(f"set2的內容:{set2},類型為:{type(set2)}") # set2的內容:set(),類型為:<class 'set'>
# 添加新元素
set1.add(9)
print(f"set1的內容:{set1}") # set1的內容:{1, 2, 3, 4, 5, 6, 7, 8, 9}、
# 移除元素
set1.remove(9)
print(f"set1的內容:{set1}") # set1的內容:{1, 2, 3, 4, 5, 6, 7, 8}
# 隨機取出一個元素
element = set1.pop()
print(f"隨機取出來的元素為:{element}") # 1
print(f"set1的內容:{set1}") # set1的內容:{2, 3, 4, 5, 6, 7, 8}
# 清空集合
set1.clear()
print(f"set1的內容:{set1}") # set1的內容:set()
# 取兩個集合的差集
set1 = {1,2,3}
set2 = {2,3,4}
set3 = set1.difference(set2)
print(f"set3的內容:{set3}") # set3的內容:{1}
print(f"set1的內容:{set1}") # set1的內容:{1, 2, 3}
print(f"set2的內容:{set2}") # set2的內容:{2, 3, 4}
# 消除兩集合的差集
set1.difference_update(set2)
print(f"set1的內容:{set1}") # set1的內容:{1}
print(f"set2的內容:{set2}") # set2的內容:{2, 3, 4}
# 兩個集合合并為一個
set1 = {1,2,3}
set2 = {2,3,4}
set3 = set1.union(set2)
print(f"set3的內容:{set3}") # set3的內容:{1, 2, 3, 4}
# 統計集合元素數量
set1 = {1,2,3,4,4,5,6,7,65,74,353}
num = len(set1)
print(f"set1內元素數量為:{num}") # set1內元素數量為:10
# 集合的遍歷 --- 不能使用while循環進行,因為不支持下標訪問
set1 = {2,3,4}
for element in set1:print(f"集合的元素有:{element}")
六、字典 dict
定義:
# 定義字典變量
dict1 = {key:value,key:value,key:value}
# 定義空字典
dict1 = { }
dict2 = dict()
注意事項:
- 鍵值對的key和value可以是任意類型(key不能為字典)
- 字典內key不允許重復,重復添加等于覆蓋原有數據
- 字典不可用下標索引,而是通過key檢索value
代碼示例
dict1 = {"張":1,"王":2,"李":3,"趙":4}
print(f"{dict1},類型為:{type(dict1)}") # {'張': 1, '王': 2, '李': 3, '趙': 4},類型為:<class 'dict'>
# 新增元素 | 更新元素
dict1["五"] = 5
dict1["張"] = 10
print(f"新增元素和更新元素后的dict1{dict1}") # 新增元素和更新元素后的dict1{'張': 10, '王': 2, '李': 3, '趙': 4, '五': 5}
# 刪除元素
num = dict1.pop("張")
print(f"刪除后的dict1{dict1},對應的value為:{num}") # 刪除后的dict1{'王': 2, '李': 3, '趙': 4, '五': 5},對應的value為:10
# 獲取全部的key
keys = dict1.keys()
print(f"獲取的dict1的全部的key為:{keys}") # 獲取的dict1的全部的key為:dict_keys(['王', '李', '趙', '五'])
# 遍歷字典
for key in keys:print(f"字典的key為:{key}")print(f"字典的value為:{dict1[key]}")for key in dict1:print(f"字典的key為:{key}")print(f"字典的value為:{dict1[key]}")
# 統計字典內元素數量
num = len(dict1)
print(f"字典中元素個數是:{num}") # 字典中元素個數是:4