傻瓜式學Python3——列表

前言: 很久不見,忽然發覺很久沒寫博客了,最近迷上了 Python 沒法自拔,瞭解了一下,Python 簡單易學,尤爲是接觸過 java 的人,入門 Python 更是門檻極低,本着學習記錄的原則,邊學習邊記錄,有利於梳理學習的成果,也有利於後期的覆盤,因此今天開始 Python 學習之旅的第一篇博客,純粹只是記錄。 java

簡單的語法定義就不記錄了,從數據結構開始,程序最重要的就是操做數據,學習一門編程語言毫無疑問必須掌握它獨有的數據結構。如今就從 列表 開始。python

列表是 Python 編程中使用頻率極高的數據結構,由一系列按特定順序排列的元素組成,用 [] 表示,逗號分隔元素,相似 Java 中的 數組。列表被建立來存儲數據,是動態的,隨時能夠對列表進行 crud 操做。因爲列表包含多個元素,因此一般命名爲複數形式,如 names,letters 等。

基本格式

fruits = ["apple","bananer","oranger"]
print(fruits)

訪問列表元素

跟大多數編程語言同樣,python列表數據的訪問也是經過索引來獲取,第一個元素從0開始,最後一個元素索引爲列表的總數據和減一。python也提供可另外一種特殊語法,能夠直接使用-1做爲索引獲取最後一個元素,依次減一逆向獲取數據。獲取到列表數據以後 能夠直接拿來進行任何操做。編程

print(fruits[0])//獲取第一個元素 `apple`
print(fruits[-1])//獲取最後一個元素`oranger`

修改列表元素

直接根據索引拿到對應位置的元素,對其從新賦值便可。數組

fruits[0] = "watermelon"//修改第一個元素
print(fruits)//從新打印列表

此時列表變動爲:['watermelon', 'bananer', 'oranger']數據結構

增長元素

  • 調用 append() 方法在列表末尾添加元素
fruits.append("Plum")
print(fruits)

此時列表爲:['apple', 'bananer', 'oranger', 'Plum']app

  • 調用 insert()方法在指定索引出插入數據
fruits.insert(1,"pear")//在索引爲1處插入數據
print(fruits)

此時列表爲:['apple', 'pear', 'bananer', 'oranger']編程語言

刪除列表中的數據

  • 知道索引的狀況下,直接使用del刪除數據
del fruits[0]//刪除第一個數據
print(fruits)

此時列表爲:['pear', 'bananer', 'oranger']學習

  • 調用pop()彈出列表列表數據,並返回彈出的數據。若是不傳參數,默認彈出列表最後一個元素,若傳入索引值,則彈出指定索引元素
print(fruits.pop())//彈出最後一個元素,並打印
print(fruits)
print(fruits.pop(0))//彈出第一個元素,並打印
print(fruits)

注意此時結果爲:ui

oranger
['pear', 'bananer']
pear
['bananer']
  • 假如不知道元素的索引,而直到具體要刪除的元素值,也能夠直接調用 remove()方法刪除,注意 刪除以後,還能夠繼續使用該元素。
fruits = ["apple","bananer","oranger","prea"]
print(fruits)
delete = "bananer"//刪除的元素
fruits.remove(delete)//調用方法刪除指定元素值
print(fruits)
print(delete)//最後打印刪除掉的元素

結果爲:spa

['apple', 'bananer', 'oranger', 'prea']
['apple', 'oranger', 'prea']
bananer

列表排序

  • 調用 sort() 對列表元素進行排序,默認是按天然順序排序,若是要逆向排序,可傳入 參數reverse=True,排序以後 列表的順序就永久改變了。
fruits = ["bananer","apple","oranger","prea"]
print(fruits)
fruits.sort()
print(fruits)

結果爲:

['bananer', 'apple', 'oranger', 'prea']
['apple', 'bananer', 'oranger', 'prea']
  • 假如咱們想臨時該表一下列表的順序,可使用 sorted()方法
fruits = ["bananer","apple","oranger","prea"]
print(fruits)
print(sorted(fruits))
print(fruits)

結果爲:

['bananer', 'apple', 'oranger', 'prea']
['apple', 'bananer', 'oranger', 'prea']
['bananer', 'apple', 'oranger', 'prea']

可見 列表順序並無改變。

使用 reserse() 方法,翻轉列表元素

fruits = ["bananer","apple","oranger","prea"]
  print(fruits)
  fruits.reverse()//翻轉列表元素
  print(fruits)

結果爲:

['bananer', 'apple', 'oranger', 'prea']
['prea', 'oranger', 'apple', 'bananer']

使用len()方法獲取列表長度

fruits = ["bananer","apple","oranger","prea"]
print(len(fruits))

結果明顯爲4.

for 循環遍歷列表

這跟 java中相似,格式爲 for xxx in 列表名:,遍歷獲取到列表數據以後,咱們能夠對它進行任何操做

fruits = ["bananer","apple","oranger","prea"]
for fruit in fruits:
    print(fruit)

結果爲遍歷打印出各個元素:

bananer
apple
oranger
prea

注意:python 中代碼塊是沒有{}的,都是用4個空格縮進表明代碼塊,for循環,if 循環,while循環,方法體都是如此,編寫代碼時必定要注意縮進

快速組裝數字列表

ranger()傳入起始值和結束值能夠按順序產生一系列數字,再使用list()能夠快速組裝必定任意範圍的數字列表

numbers = list(range(1,6))//組裝列表
print(numbers)

結果:[1, 2, 3, 4, 5] 其實使用遍歷也能夠實現,可是這種方法更加便捷。

列表生成式

使用 [表達式 for 變量值 in range(x,x) if xxx] 只需一條語句就能夠快速生成數值列表,其中表達式是遍歷數值結果進行操做,還能夠添加 if 條件。

numbers = [x * x for x in range(1,6)]//求平方數值列表
print(numbers)

結果爲:[1, 4, 9, 16, 25] 這種表達式至關簡潔,原先的好幾行只需一行就能搞定。

使用切片裁剪獲取子列表

使用 列表名[x:y] 裁剪獲取對應索引區間的子列。假如省略起始值x,默認從0索引開始裁剪,假如省略結束值y,默認裁剪餘下的全部元素。

fruits = ["bananer","apple","oranger","prea"]
print(fruits[0:2])

結果爲:['bananer', 'apple']

至此,基本的列表操做差很少都總結完了,順便記錄一下元組

  • 列表中的數據是可變的,咱們常常用它來存儲可變的數據源
  • 元組跟列表同樣也是用來存儲數據源的,可是它存儲的數據源是不可變的
  • 元組定義的格式也不同,爲(xxx,yyy,zzz).
  • 對於元組的操做,跟列表同樣

小白式學 python3 第一篇總結,若有不妥之處,麻煩在評論區指出,謝謝~

參考:廖大教程https://www.liaoxuefeng.com/w...

更多原創文章會在公衆號第一時間推送,歡迎掃碼關注 張少林同窗

張少林同窗.jpg

相關文章
相關標籤/搜索