數據的存儲

1. 列表

1.1 列表的概念

列表是一種存儲大量數據的存儲模型。編程

1.2 列表的特色

列表具備索引的概念,能夠經過索引操做列表中的數據。列表中的數據能夠進行添加、刪除、修改、查詢等操做。數據結構

1.3 列表的基本語法

建立列表: 變量名 = [數據1,數據2,...]spa

獲取列表數據: 變量名[索引]3d

修改列表數據: 變量名[索引] = 值 code

1.4 列表經常使用方法

2. 元組

2.1 元組的概念

元組是一種存儲固定數據的存儲模型。cdn

2.2 元組的特色

元組具備索引的概念,能夠經過索引操做元組中的數據。元組中的數據可行查詢操做,但不能進行添加、刪除、修改操做。對象

2.3 元組的基本語法

建立元組: 變量名 = (數據1,數據2,...)blog

獲取元組數據: 變量名[索引]索引

2.4 元組的經常使用方法

2.5 注意事項

元組中的數據若是是非引用類型數據,不容許修改字符串

元組中的數據若是是引用類型對象,該對象不容許替換,而對象的屬性值能夠發生改變

2.6 元組的特殊應用

自動組包:將多個數據賦值給一個變量時,多個數據將包裝成一個元組,將元組賦值給變量,該過程稱爲自動組包。

應用場景:設置返回值爲多個值

return 1,2,3  等同於   return (1,2,3)
複製代碼

應用場景:動態字符串賦值傳值方式

print("座標%d,%d" % (10,20))
複製代碼

自動解包:將元組賦值給多個變量時,若是元組數據的數量與變量的數量相同,元組將被自動拆分紅多個值,並賦值給對應變量,該過程稱爲自動解包。

場景:多個變量接收返回值

a,b,c = func()等同於 a,b,c = (1,2,3)等同於a,b,c = 1,2,3
複製代碼

場景:動態字符串賦值取值方式

print(「座標%d,%d」 % (10,20))	將10給第一個%d,將20給第二個%d
複製代碼

3. 集合

3.1 集合的概念

集合是一種存儲大量無序不重複數據的存儲模型。

3.2 集合的特色

集合沒有索引的概念。集合中的數據能夠進行添加、刪除等操做。

3.3 集合的基本語法

建立集合:

變量名 = {數據1,數據2,......}
複製代碼

3.4 集合經常使用方法

4. 字典

4.1 字典的概念

字典是一種使用「鍵值對結構」存儲數據的存儲模型。

4.2 字典的特色

字典不具備索引的概念,字典使用鍵key代替索引,能夠經過鍵操做字典中存儲的數據value。字典能夠根據鍵key進行數據的添加、刪除、修改、查詢操做。

4.3 字典的基本語法

建立字典: 變量名 = {鍵1:值1,鍵2:值2,……}

添加數據: 變量名[鍵] = 值 (字典中沒有對應的鍵)

獲取數據: 變量名[鍵]

修改數據: 變量名[鍵] = 值 (字典中存在對應的鍵)

4.4 字典經常使用方法

4.5 注意事項

字典中的鍵是惟一的

4.6 字典的做用

1.當須要存儲少許數據,而且指望在編程期以最快的速度獲取單個數據, 推薦選擇字典。

2.當須要使用非對象格式保存單個對象的屬性值,推薦選擇字典。

5. 格式轉換

6. for循環

6.1 for循環的做用

for循環用於對數據存儲模型進行訪問遍歷

6.2 for循環的基本語法

for 變量名 in 列表:
    變量相關操做
複製代碼

7. Range

7.1 range的功能

建立連續的整數

7.2 range的基本語法

格式1:range(m) 生成 0 到 m-1 的整數

格式2:range(m,n) 生成 m 到 n-1 的整數

格式3:range(m,n,s) 生成 m 到 n-1 的整數,整數間隔爲s

7.3 range的應用場景

1.配合for循環構造指定次數的循環

for _ in range(..):
____循環執行的代碼
複製代碼

2.快速建立由連續的整數做爲數據的列表、元組、集合對象

list(range(..))

tuple(range(..))

set(range(..))

8. 數據存儲結構嵌套

8.1 數據存儲結構嵌套的概念

數據結構嵌套指一種數據結構中包含的數據是另外一種數據結構

8.2 範例

9. 公共方法

10. 切片

10.1 切片的做用

獲取列表、元組或字符串中的局部數據

10.2 切片基本語法

容器對象[開始索引:結束索引:步長]

10.3 特殊格式:

省略開始索引:默認開始索引爲0
範例:list1[:5:1]	等同於   list1[0:5:1]  
省略結束索引:默認結束索引爲數據總量
範例:list1[0::1]	等同於   list1[0:len(list1):1]
省略步長:每次遞增索引數爲1
範例:list1[0:5:]	等同於   list1[0:5:1]  
負數步長:	反向操做/反向步長操做,須要開始索引、結束索引逆序輸入
範例:list1[5:0:-1]	  
常見格式:
範例:list1[:5:]	獲取索引5以前的數據(不含5)  
範例:list1[4::]	獲取索引4以後的數據(含4)
複製代碼

11.通用運算符

12. for...else

12.1 for...else基本語法

for 變量名 in 列表:
    變量相關操做
else:
    循環正常運行結束後執行的操做
複製代碼

12.2 注意事項

1.若是for循環中執行了break語句,則else中的代碼將不執行

2.while循環一樣具備while…else語法格式

13. 推導式

13.1 推導式基本語法

基礎語法格式:   循環變量 for 循環
範例:list1 = [data for data in range(5)]
數據處理語法格式:	表達式 for循環
範例:list1 = [data*5 for data in range(5)]
數據過濾語法格式:	表達式 for循環 if判斷
範例:list1 = [data for data in range(5) if data > 200]
複製代碼

13.2 推導式的做用

推導式能夠快速生成數據存儲結構中的數據

範例1:建立包含1到100全部整數的列表
list1 = [data for data in range(1,101)]

範例2:建立包含1到10的平方和的列表
list2 = [data**2 for data in range(1,11)]

範例3:建立字典,key從1到5,value是key的平方
dict1 = [(data,data**2) for data in range(1,6)]
複製代碼
相關文章
相關標籤/搜索