09.程式程式設計基礎3~組合資料型別
接著上一章內容,繼基本資料型別之後,本章進行組合資料型別的講解
3.2. 組合資料型別
python中為了方便一部分相似資料的處理,提供了各種組合型別,常見的如列表、元組 python中的列表是可變序列,元組是不可變序列
3.2.1. 列表
列表的語法結構:通過一堆方括號包含起來的資料序列,可以存放重複資料 ```
name = ['張小凡', '碧瑤', '陸雪琪', '林驚羽']
因為列表本身也是物件,所以可以進行巢狀處理
user = [['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['陸雪琪', '青雲門']]
列表資料的檢視,可以通過索引/下標進行檢視
> user
[['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['陸雪琪', '青雲門']]
> user[1]
['碧瑤', '鬼王宗']
> user[1][0]
'碧瑤'
列表中追加資料:append()
user.append(['金瓶兒', '合歡派']);
結果: [['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['陸雪琪', '青雲門'], ['金瓶兒', '合歡派']]
列表中指定位置追加資料:insert()
user.insert(2, ['秦無炎', '萬毒門']);
結果:[['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['秦無炎', '萬毒門'], ['陸雪琪', '青雲門'], ['金瓶兒', '合歡派']]
刪除列表末尾的元素:pop()
user.pop();
結果:[['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['秦無炎', '萬毒門'], ['陸雪琪', '青雲門']]
刪除列表中指定位置的元素:pop(index)
user.pop(2);
結果:[['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['陸雪琪', '青雲門']]
將列表中指定位置的資料進行替換,直接給對應的索引賦值
user[2] = ['鬼先生', '鬼王宗']
結果:[['張小凡', '鬼王宗'], ['碧瑤', '鬼王宗'], ['鬼先生', '鬼王宗']]
``` 至此,常見的列表操作就基本介紹結束了,後續更加細緻的操作手段和方式,在專案中需要進行深入的時候和熟練了。
3.2.2. 元組
元組在python中,其實是列表的一種特殊的形式,一旦宣告建立就不允許改變。 語法結構:使用一對圓括號包含起來的一組資料,可以存放重複資料 ```
season = ('春' , '夏' , '秋' , '冬')
定義並給元組進行賦值之後,就可以像列表一樣進行資料的檢視了
season
結果: ('春' , '夏' , '秋' , '冬')
season[1]
結果:'夏'
``` 由於元組的資料一旦定義就不可更改,在一定程度上提高了程式碼的安全性,所以在程式設計開發的過程中,對於一部分不需要更改的資料如果可以定義成元組的,就不要定義成列表了。
注意:元組中如果存放的是其他的內容可變的元素的話,一定要注意此時的元組中物件的資料是可變的。 如: ```
# 定義了一個元組,此時元組中出了存放字串,還存放了一個列表
tuple = ('張小凡', '林驚羽', ['陸雪琪', '青雲門'])
tuple[2][0] = '碧瑤'
tuple[2][1] = '鬼王宗'
tuple
結果:('張小凡', '林驚羽', ['碧瑤', '鬼王宗'])
``` 執行過程如下圖所示
3.2.3. 集合
python中,還提供了一種特殊的資料型別,集合Set,和列表類似,但是不能儲存相同的資料;注意:集合set中存放資料是不能重複的,並且是沒有存放順序的,也就是沒有下標的。
語法:使用一對大括號/花括號包含起來的一組資料 ```
h = {'集合元素'}
hreo = set(['將列表轉換成集合'])
heros = {'寒冰艾希', '皎月戴安娜', '鋼鐵波比', '雪人努努', '迷失納爾'};
heros
結果:{'寒冰艾希', '皎月戴安娜', '鋼鐵波比', '雪人努努', '迷失納爾'};
heros[3] # 錯誤,集合中沒有下標,是無序存放資料的
集合中增加資料:add()
heros.add('青鋼影卡密爾');
heros
結果:{'寒冰艾希', '皎月戴安娜', '鋼鐵波比', '雪人努努', '迷失納爾', '青鋼影卡密爾'};
集合中刪除資料:remove()
heros.remove("皎月戴安娜");
heros
結果:{'寒冰艾希', '鋼鐵波比', '雪人努努', '迷失納爾', '青鋼影卡密爾'};
```
3.2.4. 字典
為了方便資料在組合資料型別中的管理,python 還提供了一種特殊儲存資料的組合資料型別:字典。通過key-value鍵值對的形式來儲存資料,可以很方便的通過key來對value進行增刪改查的操作 語法結構: ```
# 定義一個字典,每一個資料都是成對出現的 key:value
heros = {"皎月女神":"戴安娜", "虛空遁地者":"雷克賽", "沙漠皇帝":"阿茲爾", "無雙劍姬":"菲奧娜"}
# 通過字典的名稱使用字典
heros
結果:{"皎月女神":"戴安娜", "虛空遁地者":"雷克賽", "沙漠皇帝":"阿茲爾", "無雙劍姬":"菲奧娜"}
# 通過字典中資料的key來獲取對應的value資料
heros['皎月女神']
結果:'戴安娜'
查詢字典中的資料,使用方括號或者get()函式
# 使用方括號的形式查詢資料
heros['皎月女神']
結果:'戴安娜'
# 使用get()函式查詢資料
heros.get('皎月女神')
結果:'戴安娜'
修改字典中指定的資料,通過給指定的key直接賦值就可以修改
heros['沙漠皇帝'] = '茲爾大帝'
heros.get('沙漠皇帝')
結果:'茲爾大帝'
刪除字典中的資料,通過刪除指定的key對應的資料即可刪除
heros.pop('沙漠皇帝')
heros
結果:{'皎月女神': '戴安娜', '虛空遁地者': '雷克賽', '無雙劍姬': '菲奧娜'}
```
以上四種資料型別的比較 元組Tuple是存放固定的資料 集合Set中的資料插入和遍歷的時間,隨資料增多而變慢 列表List中的資料插入和查詢的時間,隨資料的增多而變慢 字典Dict中的資料插入和查詢的速度非常快,不會因為資料太多而變慢
元組、集合和列表佔用記憶體較少,字典佔用記憶體較多,字典是一種通過佔用空間來換取操作速度的一種資料型別
4種組合資料型別部分的基本使用講解完成,下一章單獨講解變數和運算子的操作
相關文章
- 程式設計之基礎:資料型別(二)程式設計資料型別
- 程式設計之基礎:資料型別(一)程式設計資料型別
- [.net 物件導向程式設計基礎] (3) 基礎中的基礎——資料型別物件程式設計資料型別
- 08.程式程式設計基礎2~基本資料型別程式設計資料型別
- Python學習之旅(核心程式設計基礎篇6基礎資料型別③)Python程式設計資料型別
- [.net 物件導向程式設計基礎] (4) 基礎中的基礎——資料型別轉換物件程式設計資料型別
- 《Go 語言程式設計》讀書筆記 (一)基礎型別和複合型別Go程式設計筆記型別
- 組合資料型別資料型別
- Python基礎程式設計(六)——序列型別Python程式設計型別
- Golang基礎程式設計(一)-基本結構、資料型別、流程語句Golang程式設計資料型別
- Java程式設計基礎03——進位制運算&資料型別&變數Java程式設計資料型別變數
- Python - 基礎資料型別 tuple 元組Python資料型別
- Java程式設計基礎12——Eclipse使用&Object型別Java程式設計EclipseObject型別
- windows程式設計常見資料型別Windows程式設計資料型別
- 【Python】組合資料型別Python資料型別
- 什麼是組合資料型別?Python組合資料型別分為幾類?資料型別Python
- 基礎資料型別資料型別
- Python程式設計常用的資料型別Python程式設計資料型別
- Python3 基礎資料型別概述Python資料型別
- 全網最適合入門的物件導向程式設計教程:34 Python的內建資料型別-Python常用複合資料型別:元組和命名元組物件程式設計Python資料型別
- python組合資料型別(集合)Python資料型別
- 程式設計必備基礎 計算機組成原理+作業系統+計算機網路,計算機基礎——更適合程式設計師的程式設計必備基礎知識作業系統計算機網路程式設計師
- Python基礎:資料型別-列表與元組(6)Python資料型別
- Java程式設計基礎31——MySql資料庫Java程式設計MySql資料庫
- PHP基礎-資料型別PHP資料型別
- java資料型別基礎Java資料型別
- 零基礎學大資料程式設計需要哪些基礎?大資料程式設計
- Python3組合資料型別(元組、列表、集合、字典)語法Python資料型別
- Python3基礎——運算子、資料型別Python資料型別
- Python基礎之四:Python3 基礎資料型別Python資料型別
- 程式設計基礎程式設計
- go語言資料型別-基礎型別Go資料型別
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- 全網最適合入門的物件導向程式設計教程:42 Python常用複合資料型別-collections容器資料型別物件程式設計Python資料型別
- TypeScript(3)基礎型別TypeScript型別
- Kotlin 基礎 - 資料型別Kotlin資料型別
- [java基礎]之資料型別Java資料型別
- PHP基礎-資料型別-booleanPHP資料型別Boolean