# Python 第三堂
# List
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
for name in names:
print(name)
```
## 初始化方式
初始化方式有兩種
```python=
l1 = list() # list是函式,()用來呼叫函式
l2 = []
print(l1)
print(l2)
l1.append("1")
l2.append("1")
print(l1)
print(l2)
```
## 指定陣列
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
print(names[2])
# :冒號代表從哪一項開始 到第幾項結束
print(names[0:3]) # 從0到2,不包含第三項
print(names[1:4])
print(names[:]) # 都沒給值,他會印全部
print(names[2:]) # 給起始值 沒給結束值
print(names[:2]) # 給結束值
```
```python=
s = "冒號代表從哪一項開始 到第幾項結束。"
print(s[5:10])
# 負數 會從後面開始印,-1 為最後一項
# 如果不知道陣列長度,要取最後一項 可以填-1
print(s[len(s)-1], s[-1]) # 這兩個都是印最後一項
print(s[-1], s[-2], s[-3])
print(s[-5:-1])
```
## 2D List Array 二維陣列

group 四個人分成兩組,每一組兩人
```python=
names2D = [["小明" ,"小王"], ["阿華", "阿達"]]
for group in names2D:
for name in group:
print(name)
```
```python=
names2D = [["小明" ,"小王", "小光"], ["阿華", "阿達", "阿美"]]
for group in names2D:
print(group)
```
## 3D List 三維陣列
```python=
names3D = [ # 全校共有12人
[["小明" ,"小王", "小光"], ["阿華", "阿達", "阿美"]], #這排是班級,班級內分成兩組
[["小王" ,"小美", "小華"], ["阿明", "阿邀", "阿吳"]], #這排是班級
]
# 把 names3D 當作 school(學校)
for classroom in names3D:
for group in classroom:
for name in group:
print(name)
```
可以加幾個人、刪除幾個人、印出group或其他變數試試
```python=
names3D = [ # 全校共有12人
[["小明" ,"小王"], ["阿華", "阿達", "阿美"]], #這排是班級,班級內分成兩組
[["小王" ,"小美"], ["阿邀", "阿吳"]], #這排是班級
]
# 把 names3D 當作 school(學校)
for classroom in names3D:
for group in classroom:
print(group)
```
```python=
names3D = [ # 全校共有12人
[["小明" ,"小王"], ["阿華"], ["阿達", "阿美"]], #這排是班級,班級內分成兩組
[["小王" ,"小美"], ["阿邀", "阿吳"]], #這排是班級
[["邊緣人"]],
]
# 把 names3D 當作 school(學校)
for classroom in names3D:
print(len(classroom))
print(classroom)
```
## List 操作
### append 附加
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
print(names)
names.append("小帥") # append 加在尾巴
print(names)
```
### insert 插入
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
print(names)
names.insert(2, "小帥") # 插入,插在第幾項,可以從中間插入
print(names)
```
### pop 彈出
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
print(names)
names.pop() # pop彈出最後一項
print(names)
names.pop(1) # pop彈出第幾項
print(names)
```
### remove 移除
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
print(names)
names.remove("阿華") # remove移除指定物件
print(names)
```
## 字串操作
```python=
names = ["小明" ,"小王", "阿華", "阿達"]
string = "小明 小王 阿華 阿達"
for name in names:
print(name)
print("==========")
for s in string:
print(s)
print("==========")
for name in names:
for n in name:
print(n)
```