給有C或C++基礎的Python入門 :Python Crash Course 4 操作列表 4.4 -- 4.5
阿新 • • 發佈:2018-08-27
可變 ont ++i however str 入門 重新 ike 倒數
上接前一篇文章。
4.4 使用列表的一部分
一,切片
切邊,顧名思義,就是處理列表的部分元素。
我們可以聯系一下C++的一段語句:for(int i = 0; i < n-2; ++i) cout << a[i];
這句語句就是訪問了一個有n個元素的數組的1--n-2個元素(下標為0--n-3)。
而這個實現在Python中的實現如下:
1 players = [‘charles‘, ‘martina‘, ‘peter‘, ‘mina‘] 2 print(players[:4]) 3 print(players[0:3])4 print(players[1:3]) 5 print(players[2:]) 6 print(players[-3:])
2到6的代碼分別是:
- 打印列表中第一到第四個元素(下標為0到3)。註意,“ : x”表示下標從0到x-1。“x:”表示下標從x到n-1。
- ’打印列表中第一到第三個元素(下標為0到2)。
- 打印列表中第二到第三個元素(下標為1到2)。
- 從第三個元素開始打印列表元素直到末尾元素(下標從2到n-1)。
- 打印列表中倒數三個元素(下標為n-3到n-1)。註意,為負值時從後開始數。
二,復制列表
先看如下代碼:
1 names = [‘peter‘, ‘mina‘, ‘mpeter‘, ‘katherine‘] 2 my_friends = names[:] 3 4 print(‘I have a list of my friends:‘) 5 print(names) 6 print("However mina have a same list !") 7 print(my_friends) 8 print("But mike just have two in my list") 9 mike_friends = names[0:2] 10print(mike_friends)
復制列表的原理其實很簡單:
聲明一個列表a -> 賦值 -> 再聲明一個列表b -> 從頭到尾遍歷列表a並同時傳值到列表b -> 結束。
4.5 元祖
在python中,將不可變的列表稱為元祖。
其實,和C++中的const定義常數組一樣類似,一旦定義了則不可以修改。
定義規則如下:(用劃“()”括號定義)
dimensions = (1, 20, 50, 100) print(dimensions[0]) print(dimensions[1])
而若想修改,就會報錯!
1 dimensions = (1, 20, 50, 100) 2 print(dimensions[0]) 3 print(dimensions[1]) 4 #error!! 5 #dimensions[0] = 2 6 #print(dimensions[0])
同普通列表一樣元祖亦可以遍歷:
const_numbers = (1, 2, 3, 4, 5, 6) for number in const_numbers: print(number)
如果你想改變元祖的值,你只能重新定義像這樣:
const_numbers = (2, 3, 4, 5, 6, 7) for number in const_numbers: print(number)
To be continued...
如有錯誤,歡迎評論指正!
給有C或C++基礎的Python入門 :Python Crash Course 4 操作列表 4.4 -- 4.5