標籤:

從0開始學python-3.1 列表容器

從0開始學python-3.1 列表容器

來自專欄碼前程

什麼是容器

上章我們學習了數字和字元串。這兩種數據是是不可拆分的「原子元素」(嚴格來說我字元串是可以再拆分成字元的,但是這個可以忽略)。

我們生活中還有另外一大類型的數據,容器:由多個元素組成的一個中數據。我們來看看生活中哪些數據是容器。一斤蘋果一套畫冊一群小鳥斤、套、群這些都是形容一組數據的介詞。都有一堆的意思。這些就是容器。

在遊戲中就有更多容器的例子啦。遊戲主角身上穿的裝備列表、遊戲征途中的所有怪物,這些都是容器。

容器的作用

要是世界上只有我們一個人,得是多麼的孤單。所以世界上的很多東西都是可以「類聚群分」的。通過容器的方式,能夠讓我們統籌全局,站在更高的視角上分析問題。

接下來,我們就學習下容器在python里的表達。

什麼是列表

列表就是我們最常見的容器的了,我們可以用由一組元素組成的數據叫容器來定義它。

我們前面提到的一斤蘋果一套畫冊都是容器。下面,我們就拿一套畫冊來舉例子,看我們對這種容器的數據做哪些操作。

對列表能做哪些操作

  • 數畫冊里共有多少本漫畫
  • 往畫冊里加一本漫畫
  • 把畫冊的第一本書換為七龍珠
  • 從畫冊里去掉一本漫畫
  • 取這個畫冊里的第二本漫畫
  • 取這個畫冊里的第二到第四本漫畫
  • 判斷海賊王是否在這套畫冊里
  • 把這個畫冊按照漫畫的名字排序

是不是發現,只要套用生活中的例子,理解編程概念是很簡單的。編程就是處理數據的,我們平時怎麼處理數據,編程就能怎麼處理數據(當然以後會有更高級的處理方式)。

在python中定義列表

上面我們認識了什麼是列表,接下來我們就看看怎麼在python里定義個列表吧。

a = [1,3,5,7,9]hero = [阿珂,韓信,李白]book_list = [海賊王,叮噹貓,老夫子]

在第一行中,[1, 3, 5, 7, 9] 就是一個小於10的奇數容器。定義一個列表,我們只需要用中括弧把我們的元素包起來、每個元素用逗號隔開即可。第一行的整體意思是,我們定義一個變數a,並用賦值語句把由 1、3、5、7、9 5個元素組成的賦值給變數a,其中:1,3,5,6,7,9是我們上章節學習的數字。

在第二行中,[阿珂,韓信,李白] 是由 阿珂、韓信、李白三個遊戲角色組成的列表,我們把這個列表通過賦值語句給到了hero這個變數。其中,阿珂,韓信,李白使我們上個章節學習的字元串。

第三行, [海賊王,叮噹貓,老夫子] 是由 海賊王、叮噹貓、老夫子三本漫畫組成的列表,我們把這個列表給到了變數:book_list

在python中操作列表

接下來,我們就看一下在python中怎麼對列表變數 book_list 做我們前文提到的那些操作。

book_list = [海賊王,叮噹貓,老夫子]len(book_list)book_list.append(西遊記)book_list[1]book_list[0] = 七龍珠book_list[1:3]book_list.remove(叮噹貓)海賊王 in book_listbook_list.sort()print(book_list)

  • 獲取列表長度 數畫冊里共有多少本漫畫

    len(book_list) 中的 len()方法,和字元串里的取字元串的長度是一樣的
  • 往列表裡增加元素 往畫冊里加一本漫畫

    book_list.append(西遊記)append()方法,append是追加的意思,往列表裡追加一個元素

  • 獲取列表元素 取這個畫冊里的第二本漫畫

    book_list[1] 我們使用[ 1] 的方式去列表裡某個位置的元素,注意,還是從0開始取的
  • 更改列表裡某個位置的值 把畫冊的第一本書換為七龍珠

    book_list[0] = 七龍珠 直接用賦值表達式來改變列表某個位置下的值。
  • 獲取多個元素 取這個畫冊里的第二到第四本漫畫

    book_list[1:3] 取列表裡的多個元素直接用[1:3]就可以了,和字元串里的取字元串方法一樣。
  • 刪除元素從畫冊里去掉一本漫畫

    book_list.remove(叮噹貓) 使用 remove方法刪除列表裡的某個元素

  • 判斷列表是否包含某個元素 判斷海賊王是否在這套畫冊里

    海賊王 in book_list 使用 in 方法。in 左側是元素,in右側是列表。
  • 列表排序 把這個畫冊按照漫畫的名字排序

    book_list.sort() 使用 sort方法對列表裡的元素排序,默認按照從小到大的順序排序。

總結

這節課的知識點有點多,我們在掌握的時候,首先要理解什麼是列表,對列表能做哪些操作。語法我們可以慢慢記憶。下節課,我們用列表來做一個項目實例,讓大家有個感性的認識。


推薦閱讀:

今天推薦 2 個實用工具和 1 個技巧
python基礎-break,continue,pass
【翻譯】《利用Python進行數據分析·第2版》第11章(中二) 時間序列
《利用Python進行數據分析》12章 pandas高級應用
Python操作Redis

TAG:數學 | Python |