Python學習筆記 Day4 列表 part 3及for迴圈
阿新 • • 發佈:2018-12-21
Day4 列表 part 3及for迴圈
與C、C++、Pascal、Java等不同,Python變數隨用隨定義即可?只要有賦值操作即可?
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print (magician)
這裡的變數magician無需提前定義,即用即定義。
- for
- 別忘了for語句後面加冒號;
- for語句後面的縮排,所有縮排的語句都是需要執行for迴圈的語句,直到第一條非縮排語句結束;
- 注意不必要的縮排,造成邏輯或語法錯誤。
- for遍歷列表時,先獲取第一個元素,並存儲在變數中,然後再第二個,依次下去;
for bicycle in bicycles print bicycle
- 數值列表
- range() 函式, 產生一系列數字,引數:起始值, 結束值, 步長;
- list() 函式,建立數字列表,結合range()使用,將rang()函式產生的數字系列構成一個列表,那麼,下面的程式碼返回結果是什麼?
even_numbers = range(2,11,2) print (even_numbers)
- min() 函式,max() 函式,sum() 函式;
- 切片(列表的一部分)
- 指定起始值(如不指定則從0開始)及結束值(如不指定則到末尾)
- 負數索引返回離列表末尾相應距離的元素
players = ['charles', 'martina', 'michael', 'florence', 'eli'] print (players[0 : 3]) print (players[:3]) print (players[1:]) print (players[-3:])
- 複製列表
- [:]
my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods[:]
- 注意複製和直接變數 ‘=’的區別,如下面的程式碼:
直接變數‘=’,不是複製列表,而是將兩個變數都指向一個列表(類似C++中指向同一地址的兩個指標);因此,下面的程式碼輸出,兩個變數my_foods和friend_foods是一樣的。my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods
my_foods = ['pizza', 'falafei', 'carrot cake'] friend_foods = my_foods my_foods.append('cannoli') friend_foods.append('ice cream') print ("My favorite foods are: ") print (my_foods) print ("\nMy friend's favorite foods are: ") print (friend_foods)
- [:]