【懶懶的Python學習筆記三】

在上一章中,我們學習瞭如何創建列表、訪問列表元素和簡單的列表排序。那麼在本章中,我們將進一步學習如何遍歷整個列表和對列表更多的操作。

一、遍歷列表

我們經常需要遍歷整個列表,對每個元素執行相同的操作,此時我們可以用Python中的for循環。



首先我們定義一個列表,再定義了一個循環,這行代碼讓Python從cars列表中取出一個名字,將其存儲到變量car中,最後打印出存儲到變量car中的名字。這樣,對於列表中的每一個元素,Python都將重複上述操作。請牢記:使用循環時,對列表的每個元素,都將執行指定的步驟而不管列表包含多少個元素!
注意:
1、for語句末尾的冒號(:)告訴Python,下一行是循環的第一行。
2、避免發生縮進錯誤。Python根據縮進來判斷代碼行與上一行代碼的關係,在上面的示例中,打印各個列表元素是for循環的一部分,因爲它們縮進了。Python通過縮進讓代碼更易讀更整潔清晰。當你開始編寫Python代碼時,難免會發生一些縮進的錯誤,如果發生縮進錯誤,Python會提醒你。常見的縮進錯誤主要有:在必須縮進的地方未縮進、忘記縮進額外的代碼行、不必要的縮進和循環後不必要的縮進等。

二、創建數值列表

有時需要存儲一組數字,列表則非常適合存數數字,而Python提供很多工具可以幫你高效地處理數字列表。

2.1 使用range函數




在這個例子中,range()只打印數字0-4,因爲函數range()會讓Python從你指定的第一個值開始數,併到達你指定的第二個值結束,因此輸出不包括第二個值(這裏爲5)。

2.2 使用range函數創建數字列表

要創建數字列表,可直接使用list()函數將range()的結果轉換爲列表。如果將range()作爲list()的參數,輸出將爲一個數字列表。



在使用range()函數的時候,可以指定步長,如:



在這個例子中,range()函數從0開始數,然後不斷加2,知道達到或者超過終值。

2.3 對數字列表進行簡單統計

有幾個專門針對數字列表的Python函數:



2.4 列表解析

列表解析可以讓你使用一行代碼就生成前面那樣的列表。列表解析就是將for循環和創建新元素的代碼合併在一起,並自動添加新元素。




三、使用列表的一部分

3.1 切片

列表的部分元素稱之爲切片。要創建切片,要指定使用的第一個元素和最後一個元素的索引,和函數range()一樣,Python在到達你指定的第二個索引前面的元素後停止,如要輸出列表前5個元素,需要指定索引0-5。看下面示例。


如果你沒有指定第一個索引,則Python自動從列表開頭開始,同理如果你沒有指定終止索引,則自動到列表結尾元素。




3.2 遍歷切片

如果要遍歷列表的部分元素,可在for循環中使用切片。




四、元組

列表非常適合存儲在程序運行期間可能變化的數據集,但是有時候不希望列表元素隨意更改,比如某個網站的用戶信息。Python將不能修改的列表稱爲元組。
元組看起來很像列表,只不過使用圓括號而不是方括號,定義元組,可以使用所有訪問元素,就和列表一樣。




當我們嘗試修改元組元素的時候,Python會返回錯誤信息,由於試圖修改元組的操作是被禁止的,因此Python指出不能給元組元素賦值。




五、設置代碼格式

爲確保所有人編寫的代碼結構都大致一致,Python程序員都遵循一些格式設置約定。PEP 8 (Python Enhancement Proposal, PEP)向Python程序員提供了代碼格式設置指南,PEP 8 篇幅很長,大多都與複雜的編碼結構有關。
下面是一些適合新手的編寫指南

5.1 縮進

PEP 8 建議每級縮進都使用四個空格,這既可以提供可讀性又可以留下足夠的多級縮進空間。

5.2 行長

很多Python程序員都建議每行代碼不超過80個字符,PEP 8 中有關行長的指南並非不可逾越的紅線,所以最不用過多地考慮行長,但是大家都遵守PEP 8 指南,所以在大多數編輯器中,都會設置一個豎線的視覺標誌,告訴你不能越過的界限在什麼地方。

5.3 空行

要將不同程序分開,可以使用空行。空行不會影響代碼的運行但是會影響代碼的可讀性,選擇合適的空行尤爲重要!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章