數據類型及序列數據結構
- 學習導圖
- 數據類型
- 序列數據結構
- 列表
- 元組
- 字典
- 創建字典
- 訪問字典
- 修改字典
- 刪除元素
- in運算
- 獲取字典所有值
- items()方法
- 集合
學習導圖
數據類型
數值類型
- python數值類型用於存儲數值,支持以下數值類型。
- 整型int,也稱整數,是正或負整數,不帶小數點。
- 浮點型float,由整數加小數組成,帶小數點,可以使用科學記數法計數(3.14E2=314)。
- 復數complex,由實部和虛部構成,可以用
a+bj
或complex(a.b)
表示。
字符串
- python中最常見的數據類型,使用引號來創建字符串(單/雙引號都可以)。
布爾類型
- 值:True和False
- 支持如下運算:
- 布爾運算都較為簡單。
空值
None
,不支持任何運算,也沒有任何內置函數方法。- 與任何其他數據類型比較,永遠返回false。
- 如未指定返回值的函數,自動返回
None
。
序列數據結構
- 數據結構是:計算機存儲、組織數據的方式。
- 序列是python中最基本的數據結構。序列中每個元素都分配到一個數字,即它的位置或索引,從0開始。
- 序列操作有:索引、切片、加、乘、成員檢查、確定序列長度、確定最大最小元素等。
- python內置序列類型最常見的是列表、元組和字符串。
- 字典、集合屬於無順序數據集合體,不能通過位置索引來訪問數據元素。
列表
- 列表list,列表的數據項可以有多種類型,數據可以修改。
創建列表
- 用方括號
[...]
括起來,用逗號,
分隔不同數據項。 - 列表索引從0開始
list1 = ['你', '我', 123, 456]
訪問列表
list1 = ['你', '我', 123, 456]
print('list[0]:', list1[0])
print('list[1:3]:', list1[1:3])
更新列表
list1 = ['你', '我', 123, 456]
list1[1]=199
print('list[1]:', list1[1])
刪除元素
del語句
- 使用del語句刪除列表中的元素
remove()方法
- 使用remove()方法刪除列表中的元素
pop()方法
- 使用pop()方法刪除列表中指定位置的元素,無參數時刪除最後一個元素
添加元素
list1 = ['你', '我', 123, 456]
list1.append(201)
print(list1)
多維列表
list1 = [["我", "要", "CPU"], '你', ["顯卡", "硬盤"], 123]
print(list1[0][2])
- 打印CPU,通過多重索引訪問:
列表名[索引1][索引2]
- 列表生成式,python內置的一種生成列表的表達式。如果要生成一個
list[1,2,3,4,5,6,7,8,9]
,可以這麼定義:L=list(range(1,10))
元組
- 元組tuple,與列表類似。但是元組的元素不能修改。
- 元組用小括號
()
括起來,其元素類型也可以相同。
創建元組
tup1 = ('我', '它', 20, 30)
# 創建空元組
tup2 = ()
# 只包含一個元素,後面加個逗號
tup3 = (60,)
訪問元組
tup1 = ('我', '它', 20, 30)
print(tup1[0])
print(tup1[1:3])
連接元組
tup1 = ('我', '它', 20, 30)
tup2 = (50, 90)
tup3 = tup1 + tup2
print(tup3)
刪除元組
- 元組中的值是不可以刪除的,但是可以刪除整個元組,使用del
tup1 = ('我', '它', 20, 30)
del tup1
# 刪除後,打印會報錯
print(tup1)
元組和列表的轉換
tup1 = ('我', '它', 20, 30)
list1 = list(tup1)
print(list1)
list1 = ['你', '我', 123, 456]
tup1 = tuple(list1)
print(tup1)
list1 = ['你', '我', 123, 456]
str1 = str(list1)
# 返回一個包括字符串
print(str1)
字典
- 字典dict是一個可變容器模型,可存儲任意類型對象。
- 字典也稱為關聯數組或哈希表。
- 字典由鍵和對應值(鍵值對)組成,鍵值對之間用逗號
,
隔開,外面用花括號{}
。
創建字典
- 基本語法:
d = {key1: value1, key2: value2}
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
- 特性:
- 字典值可以是任何python對象,如字符串、數字、元組等。
- 鍵必須是唯一的,值可以有多個。不允許同一個鍵出現兩次,出現了,則使用最新對應的值。
- 鍵不可變,因此用數字、字符串或元組可以,不能用列表。
訪問字典
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 顯示18
print(dict1['age'])
修改字典
- 添加新內容的方法是添加新的鍵值對,修改或刪除已有鍵值對。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 更新age對應的值
dict1['age']=20
# 添加新的鍵值對
dict1['scor']='idon'
刪除元素
- del()方法,可以使用鍵從字典中刪除元素。
- clear()方法清空字典中所有的元素。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 刪除age的元素
del dict1['age']
# 清空整個字典元素,變成空字典
dict1.clear()
# 刪除這個字典
del dict1
in運算
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
# 返回True
print('age' in dict1)
獲取字典所有值
dict.values()
以列表形式返回字典中所有值。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
print(dict1.values())
items()方法
- items()方法把字典中的鍵值對組成一個元組,並把元組放到列表中返回。
dict1 = {
'xda': 40, 'age':18, 'name': 'mayn'}
for key, value in dict1.items():
print(key,value)
集合
- 無序不重復,字典也是無序不重復的。
- 基本功能:進行成員關系測試和刪除重復元素。
創建集合
- 使用大括號
{}
或set()
函數。 - 創建空集合必須使用
set()
函數,{}
被用來創建空字典了。
student = {
'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
# 輸出集合,重復的元素自動丟棄
print(student)
成員測試
student = {
'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
if('rose' in student):
print("yes")
else:
print("no")
集合運算
a = set('abcd')
b = set('cdea')
print(a-b)
print(a|b)
print(a&b)