1. 程式人生 > >Python學習筆記 Day4 列表 part 3及for迴圈

Python學習筆記 Day4 列表 part 3及for迴圈

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[:]
      
    • 注意複製和直接變數 ‘=’的區別,如下面的程式碼:
    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.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)