三歲和你一起學編程,最白的白話一語道破!
你還在爲字符串,元組,列表,集合,字典,傻傻分不清楚而苦惱嗎?
一文道破 ,其中的小咪咪!
什麼是組合數據類型?
- 解釋:組合數據類型爲多個同類型或不同類型數據提供單一表示。
- 白話:就是在數據類型中存儲不同類型的值通過該類型的定義進行下一步計算等
分類:序列類型,集合類型,映射類型
至於裏面的關係嘛,讓我細細道來!
emmm,好像講不清楚,算了,上圖
讓我們開始分類講解
什麼是序列類型?
序列類型是一維向量,元素之間存在先後關係,可以通過序號訪問。
其基本思想和表達方式是源於數學概念。
例如:
- n個元素的序列可以表達爲
- S = s0 ,s1 ,s2,…,s(n-1)
通過下標即可表達對應的值
序列簡解
索引方式
序列靠索引讀取,那麼到底怎麼讀呢?
來講不清,記不清的看圖/豪橫
悄咪咪的,圖醜勿吐槽,圖如小編,人醜心善,有用即可!!!
- 正向:從第一個 “0” 開始往後依次添加,最後一個爲“n-1”(n爲總個數)
那麼不知道長度又要從最後取怎麼辦
他來了,他踩着知識點來了 - 反向:最後一個爲-1,往前依次減一
提問:如果裏面是數組、元組、字典等鑲嵌的怎麼辦???
小朋友你是否有很多問號?????
這麼複雜的問題,我怎麼會知道
不管是誰,不管肚子裏面有多少“墨水”都是一個!
難道他肚子裏面有18胞胎他就有19個人,不存在的!!!
列表的通用操作符和函數
操 作 符 | 描 述 |
---|---|
x in s | x 屬於 s ,返回 True,否則返回 False |
x not in s | 如果 x 不屬於 s ,返回 True,否則返回 False |
s + t | 連接 s 和 t |
s* n 或 n* s | 將序列 s 複製 n 次 |
s[i] | 索引返回序列 i 對應的值 |
s[i:j] | 分片,返回 s 第 i 到 j 所對應的元素子列(前閉後開,不包括 j ) |
s[i:j:k] | 步驟分片,以 k 爲步長返回 s 第 i 到 j 的子列(不包括 j ) |
len(s) | 序列 s 的元素個數(長度) |
min(s) | 序列 s 的最小元素 |
max(s) | 序列 s 的最大元素 |
s.index(x[,i[,j]]) | 序列 s 中從 i 開始到 j 位置中第一次出現元素 x 的位置 |
s.count(x) | 序列 s 中出現 x 的總位數 |
emmm這個舉栗子嘛,我們就放到各個分類中去
字符串
- 字符串(str)是單一字符的有序組合
- 可以說是基本數據類型
- 字符串可以用單引號,雙引號表達單行的字符串使用三引號可以跨行(多行)的字符串
具體方式見上方鏈接
列表
列表詳細解析(請點擊跳轉)
列表(list)是可以修改數據項的序列類型,可以靈活使用
列表用[ ]進行表示,也可以是空列表,可以添加,刪除,排序等操作
具體的見上方鏈接(內部有詳細介紹和舉例解釋)
元組
- 元組是特殊的序列類型
原因是元組一旦創建就無法修改(不是朱一旦的一旦) - 元組使用( )來表示
>>> type(()) #測試( ) 的類型
<class 'tuple'> #爲元組(空元組)
>>> type((1))# (1)的類型
<class 'int'> #爲整型
>>> type((1,))#(1,)的類型
<class 'tuple'>#元組
>>> type((1,2))#(1,2)的類型
<class 'tuple'>#元組
以上栗子說明
( ) 爲空元組
(1) 不屬於元組
(1,)、(1,2)都是元組
元組中只有一個元素在元素後加上逗號,否則格式會出問題
>>> a = 1, 'ha', 4, (1, 2, 3) #定義(創建)一個元組
>>> a
(1, 'ha', 4, (1, 2, 3))
>>> b = 3, 0x1389, a
>>> b
(3, 5001, (1, 'ha', 4, (1, 2, 3)))
#元組元素讀取
>>> a[2]#讀取a的第2號元素
4
>>> b[2][2]
4
>>> b[2][3]
(1, 2, 3)
>>> b[2][3][0]
1
元組與其他列表一樣可以嵌套可以循環
具體見上方鏈接元組專題(完善ing)
集合類型
集合(set)
集合詳細解析(點擊鏈接查看)
該集合與數學集合差不多
- 無序性
- 單一性(不可重複)
- 數據類型固定(整型,浮點型,字符串,元組)
注:
1、 集合不能夠切片、索引
2、集合和字典一樣用 {} 括起來但是完全不一樣
3、集合沒有鍵值對
4、集合內的值不重複
5、集合內的順序不絕對
>>> w = set('python')#無序
>>> w
{'t', 'h', 'n', 'p', 'o', 'y'}
>>> c = set((1,3,'py'))
>>> c
{1, 3, 'py'}
集合還有相關的操作方式
- 交集
- 並集
- 補集
- 差集
等等,具體的方法,示例見上方詳解
映射類型
映射類型就是“鍵-值”數據項的組合,每一個元素就是一個鍵值對
字典
字典詳細解析(點擊鏈接跳轉)
字典是包含0個或多個鍵值對的集合,沒有長度限制,根據鍵索引值的內容
基本形式:
{<鍵1>:<值1>, <鍵2>:<值2>, <鍵3>:<值3>, …}
- 無序
- 鍵不可重複(重複的後者直接替代前者)
整個字典使用極爲靈活,使用也很“方便”,但是不是一言兩語可以說清
舉例說明更是得好久,點擊上方的鏈接查看詳情每個點都有示例!
組合數據類型就告一段落,詳細的還需跳轉,各個使用都不復雜,弄懂挺簡單但是熟練上手還得多加練習,奧利給!
三歲白話帶你學編程,希望大家多多支持!點贊留言收藏都可!
我也是小白,在更新時不斷補缺,練習,提高,我不會的也會查看自己的博客,真的很詳細,0基礎即可理解。有問題那就留言⑧~~~~~