Python基礎語法篇#2
Range--Python內建的range型別的建構式(constructor),用來表示不可變(immutable)的數字序列
Range這個型別可用來創建並儲存特定範圍內的整數,故得名Range。
必須特別注意的是,一旦Range被創建了,裡面的內容是不可修改。
在Python中,我們有幾個方法可以創造Range
- range(stop) -- stop:停止點 (不包含)
- range(start, stop) -- start:起始值(包含) 、stop(停止值)
- range(start, stop, step) -- step:每個數值的間隔(遞增)
若省略start參數則預設序列數字從0開始;若省略step則序列數字預設遞增值為1。若用print()印range是以建構式的樣子來表示;若要印出range中所有的元素,可轉成list。
![](https://assets.matters.news/embed/1d8ba020-ec64-4607-a4df-d6828f5623f0.png)
![](https://assets.matters.news/embed/e9c21330-4d58-4c3a-aa68-ed19d60f741d.png)
range若stop為0或start的值遞增(減)前已超過stop的值,則range為空。
![](https://assets.matters.news/embed/a9fa729f-462d-456a-9567-66b8c6ebecd6.png)
使用索引取出range變數中的值,索引值(index)從0起算。如果索引值超出range的範圍,會發生IndexError:range object index out of range錯誤。
![](https://assets.matters.news/embed/9edc68ef-dccc-4ebb-8fa0-0ad3f7c0c9d5.png)
若要比較兩個range變數是否相同,使用==及!=比較(邏輯運算子)。
![](https://assets.matters.news/embed/8b22d2cc-9f56-4325-9ab7-3e864276dcf8.png)
range通常與for迴圈一起使用。
![](https://assets.matters.news/embed/5226db9b-2ded-492c-a2e6-52cec0ac73db.png)
Tuple(元組):不能修改的List,不同於list使用[],tuple使用()
Tuple可用來存放一組資料。
這組資料的個數不限,型別也不須相同。
同Range,一旦被創造,將無法修改內容。
值與值之間,要以 , 隔開。
![](https://assets.matters.news/embed/ac390a96-eeac-4232-8862-37e204a9b185.png)
![](https://assets.matters.news/embed/bec46272-152c-431b-b121-4fd9a6692b26.png)
List(串列) -- 儲存資料的格子 --- 語法:[element1,element2.....]
List即為Python中的陣列(Array)。
陣列是一種容器,可用來儲存眾多資料。
與Tuple最大的不同處在於,針對一個以創建的陣列,可以隨時增加或減少其內部資料的個數,也可以修改裡面的內容。
![](https://assets.matters.news/embed/912028e4-0f45-4e80-bae4-f82d47f0c9af.png)
切片取值 -- 串列取值的方式除了可以使用index取得單一值,也可以使用切片的方式取得多個值。
語法:[n, m] 取出index n~(m-1)的元素
- list[start: end],start和end都可以省略不寫
- start的預設為0
- end的預設為len(list)
- list[ :end]代表 0~end-1
- list[start: ]代表start~len(list)-1
- list[ : ]代表0~len(list)-1
![](https://assets.matters.news/embed/0f895912-6bd2-439a-8f1d-6237be5b6676.png)
刪除元素 -- 語法:del
![](https://assets.matters.news/embed/cd78ce8d-f96a-4aa0-a01f-df5f86a8f557.png)
串列預設函數
- len():串列元素數目
- min():串列元素最小值
- max():串列元素最大值
![](https://assets.matters.news/embed/008b44f2-0e5f-4360-9a38-f475fbaa46ac.png)
如果想取得某個元素在串列中的操作可以使用以下函數
- index():元素在串列中第一次出現的index
- count():元素在串列中出現的次數
![](https://assets.matters.news/embed/0a422760-c082-490a-82f8-c6003ea9ab98.png)
在list中加入元素
- A.append(B):在A串列中加入B元素
- A.extend(C):在A串列中加入C串列"的"元素
- A.insert(C):在A串列中加入C串列
- extend 和 insert雖然 C 同樣都是串列,但加入A串列的方式不一樣,可以注意一下
![](https://assets.matters.news/embed/914e13bf-7565-4efb-a594-8824217eab2a.png)
移除串列的元素
- pop():取出串列中最後一個元素,並且移除元素
- A.remove(B):移除A串列中第一個出現的B元素
![](https://assets.matters.news/embed/5308cdcd-51b2-4db2-b240-98766df78c1a.png)
其他串列函數操作
- reverse():反轉串列的順序
- sort():將串列做排序
![](https://assets.matters.news/embed/5b171e51-9699-402d-88f7-90425bc1ed74.png)
Dict(字典):一個靠標籤能查到東西的字典
list和Tuple都是使用數字取得元素值的方式,如果想要用其他key值來取值就可以使用Dict
簡單來說,它跟list和Tuple的差別就在於前者是依照index,後者是依照標籤(key)來看。
![](https://assets.matters.news/embed/3a1a63f8-09d3-4782-b78e-446b48342742.png)
Dict 的語法:
建立與刪除
- dict={}: 建立空的dict
- del dict[key]: 刪除特定的key-value pari
增加與更新
- dict[key]=value: 如果key不存在,會增加這組“Key”:value;如果key已存在,會更新這組“Key”:value。
for … in
- for [變數名稱] in dict:每一回合會拿到一把在dict裡的key,就可以用dict[key]拿到對應的變數。
![](https://assets.matters.news/embed/6a3162e0-eac8-4d51-be5d-5c7b67ce8491.png)
for-loop -- 不停重複一件有規律變化的事
Python有兩種迴圈(for、while),python用縮排(Tab)和冒號 : 來表示區塊
上面已經有用過單一迴圈了,所以這邊就用巢狀迴圈來示範九九乘法表
![](https://assets.matters.news/embed/f6db98f5-79d5-43bd-a01d-af5bc4cd7fac.png)
![](https://assets.matters.news/embed/8a77e7e6-5235-4d3b-bd3d-4f0077cf063d.jpeg)
break 及 continue
- 在迴圈中如果要終止可以使用break、continue
![](https://assets.matters.news/embed/288a5636-33dd-418d-94f7-b08522874e65.png)
python在for中還可以使用else,用在當for中的if條件一直不滿足時最後會執行else
![](https://assets.matters.news/embed/24d4161a-69c2-4196-b8b9-6a81f9a14128.png)
while -- for loop的另一種寫法
![](https://assets.matters.news/embed/7f0972b7-1ae7-486a-b61e-ca27b60291ad.png)
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/55afa8e4-f5e0-42e3-8d90-b9bd1c085b18.gif/public)
- 来自作者
- 相关推荐