跟我讀python3文檔:011_列表(3.1.3. Lists)

貫穿始終的理念:別廢話,就是干!


往期回顧

  • 操作符%、//、**都是什么意思?
  • 什么是數據類型
  • 兩數相除,結果是什么數據類型。
  • 轉義字符
  • 分片
  • 索引

文檔解讀

python3文檔第三小節鏈接地址:3. An Informal Introduction to Python

本章主要講解3.1.3. Lists(列表)這個小節


3.1.3. Lists(列表)

鑒于我們在之前的章節已經講解列表了(用大樓舉的例子),所以,這次,我們直接來看下面的代碼吧~

>>> squares = [1, 4, 9, 16, 25]  #賦值操作
>>> squares  #打印變量的值
[1, 4, 9, 16, 25]

>>> squares[0]  #索引操作,還記得上一期的內容嗎,我們說,字符串是特殊的列表
1
>>> squares[-1] #負數下標,還記得下標是什么嗎?
25
>>> squares[-3:]  # 分片操作
[9, 16, 25]

還記得分片基本要素嗎?

  • 方括號下標
  • 分號
  • 范圍(左取右舍,可以為空。)
    思考題:兩個范圍都為空時,切片取值是什么?
>>> squares = [1, 4, 9, 16, 25]
>>> squares[ : ]

自己輸入試試看~

還記得字符串里,加號+和乘號 * 的作用嗎?
在列表中,他們也有相同的作用,不廢話,直接上代碼:

>>> squares = [1, 4, 9, 16, 25]
>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

自己動手試試下面的代碼,看看和你預計的結果一樣嗎?

>>> a = [123,987]
>>> a * 3


以上內容,和我們上一期講解的字符串基本上沒有區別。但下面的內容就要注意了。

還記得我們說字符串是特殊的列表,它特殊在哪里嗎?

段落截取(一)

Unlike strings, which are immutable, lists are a mutable type,i.e. it is possible to change their content

名詞解釋

  1. immutable
    不可改變的
  2. mutable
    可變的
  3. i.e.
    這是英語中一種常見的縮寫形式,相當于 that is
    中文翻譯為:也就是

段落大意

字符串值不可改變,列表值可變。

我們還是直接來看代碼:

>>> a = [1, 8, 27, 65, 125]  

>>> a[3] = 64  # 將3號值改為64。注意:序號是從0開始的。
>>> a
[1, 8, 27, 64, 125]

思考題:

既然列表值是可變的,那么能不能一次變換多個值?
提示:參考分片

自己先嘗試在解釋器里寫一下,之后在看下面的答案。


答案:

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> #思考:如何刪除改變的值?
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 思考:如何刪除全部值?
>>> letters[:] = []
>>> letters
[]

本期拓展

在python語言中,有一句話叫:一切皆對象。
要理解這句話,你首先要理解什么是對象。
對象,可以看成是一種特殊的數據類型,這種數據類型是由多種東西組成的。其中包括變量、包括函數。
如何理解呢?比如列表就是一個對象,列表里可以包含多個值。
比如:

>>> a = [123, 'b', '432', [234, 432] ]
>>> c = [234, a]

但是,你不知道的是,列表里也包含函數。只不過它沒有顯示出來而已。
比如:append()函數。我們可以通過“”來調用列表的函數。
(append()函數的作用是在列表末尾加上其他值。組成全新的列表。)

>>> cubes = [1, 8, 27, 64, 125]
>>> cubes.append(216)  # 在末尾加上216
>>> cubes.append(7 ** 3)  # 在末尾加上7的3次方
>>> cubes
[1, 8, 27, 64, 125, 216, 343]

通過這個例子,能理解對象這個特殊類型了嗎?
我們一般把對象里的變量叫做屬性,把對象里的函數叫做方法
具體內容,我們等到講對象時,在具體介紹。

本期依舊省略了很多內容,比如列表的方法,列表里面再裝列表等。
想提高的同學,可以試著自己解讀。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容