# Python班 ## 12/1 社課 --- ## 二維串列 ---- 首先我們曾經提過 **串列就使把其中的元素串成一列** 元素可以是不同的形態, 比如:int(小數)、float(浮點數) ---- 那我們可以試著想想看 如果list裡面放的元素類型還是list會長什麼樣子? ---- 直接來試試看程式碼 ```python= list1=[[1,2,3],[4,5,6]] print(list1) print(list1[0]) print(list1[0][0]) ''' [[1, 2, 3], [4, 5, 6]] [1, 2, 3] 1 ''' ``` 那想想看如果想要印出4,程式碼要怎麼寫呢? ---- append和pop的元素也可以是串列 達成二維陣列的效果 我們一樣直接看看程式碼 ```python= list1=[] list2=["hello","CRC"] list1.append([1,2,3]) list1.append(list2) print(list1) ``` ---- ## 練習1 第一行輸入一個數字n 代表接下來有n行, 每行輸入一個串列(元素型態皆為整數) 請把每行輸入的串列,加入到另一個大串列中 最後輸出大串列 ``` 範例輸入: 範例輸出: 4 [[1, 2, 3], [4, 5, 6], [7, 8, 9], [6, 2, 5]] 1 2 3 4 5 6 7 8 9 6 2 5 ``` (5分鐘後會給提示) ---- 提示(請把以下程式碼####的地方改成正確的答案) ```python= n=int(input()) list2=#### for i in range(n): list1=list(map(int,input().split())) list2.####(list1) print(####) ``` ---- 如果我們想要像之前一樣遍歷二維串列,要怎麼辦? ---- 我們一樣可以利用for迴圈 ```python= list1=[[1,2,3,4],[11,22,33,44],[111,222,333,444]] for i in list1: print(i) for i in list1: for j in i: print(j) ''' [1, 2, 3, 4] [11, 22, 33, 44] [111, 222, 333, 444] 1 2 3 4 11 22 33 44 111 222 333 444 ''' ``` ---- ## 練習2 承上題,請幫我把大串列裡的數字分別印出來 (五分鐘後給提示) ---- ```python= n=int(input()) list2=[] for i in range(n): list1=list(map(int,input().split())) list2.append(list1) for i in ####: for j in ####: print(####) ``` ---- 來試試看最後的**魔王題** zerojudge: a015矩陣的翻轉 (五分鐘後提示) ---- 提示1 ```python= a,b=map(int,input().split()) list2=[] for i in range(a): list1=list(map(int,input().split())) list2.append(####) for i in range(####): for j in range(####): print(####,end=" ") print(####) ``` ---- 提示2 ```python= a,b=map(int,input().split()) list2=[] for i in range(a): list1=list(map(int,input().split())) list2.append(list1) for i in range(b): for j in range(a): print(####,end=" ") print(####) ``` ----
{"title":"12/1","description":"12/1","contributors":"[{\"id\":\"8447d62f-b77b-4e5c-80cf-0392360451ef\",\"add\":3102,\"del\":1213}]"}
    65 views