1. 程式人生 > >第三章--第三節:列表

第三章--第三節:列表

零、建立列表

  1. 建立普通列表
    普通列表就是列表內包含的資料的型別是一致的(比如說資料型別都是整型)。建立方式如下:
# 列表中包含的資料的型別都是整型
nums=[0,1,2,3,4,5]
# 列表中包含的資料的型別都是字串
names=['張三','李四','王五','趙六']
  1. 建立混合列表
    混合列表就是列表內包含的資料的型別不同(比如包含的資料的型別即包含整型又包含字串).。建立方式如下:
# 列表中包含的資料的型別有字串、整型還有浮點型
message=['你好',100,'呵呵噠','北京市朝陽區',90,7.1]
  1. 建立空列表
    空列表就是不包含任何資料的列表。建立方式如下:
names=
[]

一、獲取列表元素

  1. 獲取單個元素
    獲取單個元素只需要指定要獲取元素的下標索引即可,語法如下:
list[下標索引]

我們通過一個列子來看一下

# 定義一個姓名例表
names=['張三','李四','王五','趙六']
# 訪問第三個元素
name=names[2]
# 將打印出 “王五”
print(name)

注意:列表的下標索引是從 0 開始的,因此列表中第一個元素的下標索引是0,第二個元素的下標索引是1,第n個元素的小標索引是n-1

  1. 獲取部分元素
    在某些情況下需要獲取列表的部分元素,語法如下:
list[起始下標索引:截至下標索引]

通過一個例子來看一下

# 定義一個姓名例表
names=['張三','李四','王五','趙六'] # 訪問第二個到第三個元素 name=names[1:3] # 將打印出 “李四、王五” print(name)

注意:獲取部分列表元素的時候,不會取到截至下標的元素。例如上例中截至下標為3,但是不會取出3這個下標對應的元素

二、修改、新增、刪除列表元素

  1. 修改
    修改列表元素只需指定要修改的元素的下標,並將新值賦給該下標的元素,語法如下:
list[下標]=新值

通過例子來看一下

# 定義一個姓名列表
names=['張三','李四','王五','趙六']
# 輸出第2個元素
# 將輸出李四
print(names[1])
# 將第2個元素修改為田七
names[1]='田七' # 再次列印第2個元素 # 列印結果變為田七 print(names[1])
  1. 新增
  • 單個新增
    單個新增列表元素只需要呼叫 append() 函式,語法如下:
list.append(新增元素)  

通過例子來看一下使用方法:

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 在列表中新增一個新的姓名:田七
names.append('田七')
# 列印列表,列表末尾將會增加一個姓名:田七
print(names)
  • 批量新增
    批量新增列表元素時如果通過迴圈的方式呼叫append函式的話程式碼會很多,而且效能也不好,因此python增加了 extend 函式。通過此函式可以實現批量新增元素,以及合併兩個列表。語法如下:
list.extend(批量新增的元素/另一個列表)

我們通過一個例子來看一下

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 新增3個姓名:田七、孫八、錢九
names.extend(['田七','孫八','錢九'])
# 列印姓名列表,列表末尾將會增加一個姓名:田七、孫八、錢九
print(names)

# 定義一個新的姓名列表
new_names=['jack','tom','ice']
# 將新的姓名列表新增到姓名列表中
names.extend(new_names)
# 列印姓名列表,列表末尾將會增加一個姓名:jack、tom、ice
print(names)
  • 指定位置新增
    前面的兩種方法只能將新元素新增到列表的末尾,但在某些情況下需要將新元素新增到指定位置。這種情況下我們可以使用 insert 函式。語法如下:
list.insert(插入位置的下標,新元素)

通過例子看一下使用方法:

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 在第2個位置插入姓名:田七
names.insert(1,'田七')
# 列印列表,列表第2個位置將會增加一個姓名:田七
print(names)

  1. 刪除
    刪除列表元素的方法有三種: delremovepop
  • del
    del刪除方法只需要指定要刪除元素的下標索引,語法如下:
del list[要刪除元素的下標索引]

我們通過程式碼看一下用法:

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 刪除第二個元素
del names[1]
# 列印姓名列表,李四不在列表中
print(names)
  • remove
    當我們不知道元素在列表中的位置或者不關心元素位置時,可以使用 remove 函式。語法如下:
list.remove(要刪除的元素)

下面通過例子來看一下使用方法

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 刪除李四
names.remove('李四')
# 列印姓名列表,李四不在列表中
print(names)

注意:如果列表中存在多個相同的元素內容,那麼在呼叫remove函式時,只會刪除第一個匹配的元素內容。例如:

names=['張三','李四','王五','李四']
names.remove('李四')
# 列印姓名列表,原本在位置2的李四不存在了,但是列表末尾的李四還在
print(names)
  • pop
    當需要刪除列表元素並返回刪除元素的值的時候,我們就需要用到了 pop 函式,語法如下:
list.pop([刪除元素下標索引])

我們通過程式碼看一下用法:

# 定義姓名列表
names=['張三','李四','王五','趙六']
# 刪除第2個元素,並返回李四
names.pop(1)
# 列印姓名列表,李四不在列表中,
print(names)

注意1:當pop函式不指定刪除元素下標索引的時候,預設刪除列表最後一個元素

注意2:刪除元素的下標索引可以為負數,例如-1,表示刪除列表最後一個元素,-2表示刪除列表倒數第二個元素

三、列表其他函式/方法

列表還有其他的一些函式/方法,我們這裡通過表格的方式展示出來。

函式/方法 說明
len(list) 返回列表長度
max(list) 返回列表中最大值
min(list) 返回列表中最小值
list(元祖) 將元祖轉換為列表
list.count(元素) 返回指定元素在列表中的出現的次數
list.index(元素) 從列表中找出指定值第一個匹配項的索引位置
list.reverse() 反向列表中元素
list.sort() 列表排序
list.clear() 清除列表內容
list.copy() 複製列表

注意:我將會在後面寫一個文章專門講解列表排序(list.sort()),同時文章我也會發布在公眾號“朱老師IT小課堂”

四、小結

本節講解了列表的主要操作,這些操作大家要記牢

五、作業

  1. 一個班級有10名學生,建立這個10名學生的名單,並對這十名學生進行點名。
  2. 班級又增加了兩名學生,將這兩名學生增加到名單中。
  3. 又新來一名學生,將這名學生怎加到位置3。
  4. 有一名學生轉學了,請更新名單。

覺得不錯打賞一下吧,金額隨意!

相關推薦

--三節列表

零、建立列表 建立普通列表 普通列表就是列表內包含的資料的型別是一致的(比如說資料型別都是整型)。建立方式如下: # 列表中包含的資料的型別都是整型 nums=[0,1,2,3,4,5] # 列表中包含的資料的型別都是字串 names=['張三','李四',

【軟件構造】三節 抽象數據型(ADT)

必須 png tar str urn http private 其余 字符數 第三章第三節 抽象數據型(ADT) 3-1節研究了“數據類型”及其特性 ; 3-2節研究了方法和操作的“規約”及其特性;在本節中,我們將數據和操作復合起來,構成ADT,學習ADT的核

全棧工程師之路-中級篇之小程式開發-三節正在載入,loading狀態

繼前一篇文章,我們已經實現了小程式中的上拉載入和下拉重新整理, 如果使用者網路較差的情況下,或者服務端返回處理較慢的情況下, 那麼我們的頁面在這段時間內沒有等待提示。 或者服務端返回資料之後,我們

--第二節迴圈語句

Python中的迴圈語句一共兩種,分別為 for語句 和 while語句 零、for語句 Python中比較常用的迴圈語句就是 for語句,語法如下: for 變數 in 序列: 要迴圈的程式碼段 通過一個例子來看一下: nums=[1,2,3,4,5]

資料庫系統概論五版 課後習題

課本第三章課後第五大題、第五章第六題建供求表 create table S(sno char(10) unique,sname char(20),statu smallint,city char(20));create table P(pno char(10) unique,

將例3.14改寫為在類模版外定義各成員函式(十二題)

#include <iostream> using namespace std; template<class numtype> class Compare {public: Compare(numtype a,numtype b); numtype

七節 使用distcp並行拷貝

        到現在為止我們看到的HDFS訪問模式都是單執行緒訪問。它可以操作一組檔案----例如定義file glob---- 但是要高效並行處理這些檔案,你需要自己寫一個程式。HADOOP自帶了一個有用的程式叫distcp用來 並行拷貝檔案到/從HADOOP檔案系統。

《演算法導論》-2節_練習(參考答案)

演算法導論(第三版)參考答案:練習3.2-1,練習3.2-2,練習3.2-3,練習3.2-4,練習3.2-5,練習3.2-6,練習3.2-7,練習3.2-8 Exercise 3.2-1 Show that if f(n) and g(n) are m

微信小程式教學(含視訊)小程式中級實戰教程列表-靜態頁面製作

§ 列表 - 開發準備 開始前請把 ch3-1 分支中的 code/ 目錄匯入微信開發工具 這一章主要會教大家如何用小程式製作一個可以無限載入的列表。希望大家能通過這個例子掌握製作各種列表的原理。 無限列表載入的原理

讀構建之法 軟件工程師的成長

知識點 可維護 vid -s 評估 不同 fun 可靠 科研 本章理論和知識點:評價軟件工程師水平的主要方法 軟件工程把相關的技術和過程統一到一個體系中,叫“軟件開發流程”,軟件開發流程的目的是為了提高軟件開發、運營、維護的效率,以及提升用戶滿意度、軟件的可靠性和可維護性。

補基礎自學計算機科學導論 數據存儲

計算機科學 通用 3.1 數據類型 數字 文字 音頻 圖像 視頻 計算機內部的數據 所有計算機外部的數據類型的數據都采用統一的數據表示法轉換後存入計算機中,當數據從計算機輸出時再還原回來。這種通用的格式稱為位模式。 1. 位:是存儲在計算機中的最小

補基礎自學計算機科學導論 數據存儲 續

計算機科學 二進制 科學技術 十進制 小數點 3.2.2 存儲實數 1. 浮點表示法 該表示法允許小數點浮動,用於維持正確度或精度。 在此表示法中,無論十進制還是二進制,一個數字都由3部分組成: 符號 位移量: 顯示小數點應該左右移動構成實際數

XSS的原理分析與解剖(技巧篇)**************未看*****************

第二章 != chrom 插入 是把 調用 bject innerhtml ats ??0×01 前言: 關於前兩節url: 第一章:http://www.freebuf.com/articles/web/40520.html 第二章:http://www.free

<Mastering KVM Virtualization> 搭建獨立的KVM虛擬化

sca tin ann 修改 網絡命令 sta 解析 知識 tlb 在第二章,你了解了KVM的內部結構;在本章中,您將了解如何將Linux服務器設置為虛擬化主機。我們正在討論將KVM用於虛擬化並將libvirt作為虛擬化管理引擎。 KVM開啟了虛擬化並利用你的服務器或工作站

基本概念

npr bject 字面量 enume 不能 數據 開頭 clas int() 語法 借鑒了C語言以及類C語言(如java,perl)的語法 區分大小寫 標記符 字母數字下劃線$ 開頭不為數字 嚴格模式 use strict; 語句以分號結尾 關鍵

使用listview控件展示數據

復數 ted ima 深度 lar row listview items uil 第三章:使用listview控件展示數據 1.圖像列表控件Imagelist Images 儲存的所有圖片的復數 ImageSize 圖片的大小 transparentColor 被視

《Python基礎教程》使用字符串

方法的參數 基礎 指定 方法 添加 repl pre replace this find方法可以在一個較長的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果沒有找到則返回-1 join方法用來在隊列中添加元素,需要添加的隊列元素都必須是字符串 >>

TestOps方法論

測試數據 bug 重要 性能 開發 良好的 image 工具 ued 某些質量目標只能在TestOps中可行,這就是為什麽TestOps成功的一個重要因素,也這是一個開發團隊和測試團隊與Ops具有相同目標的範例。 TestOps需要一個全面的方

《數據庫設計入門經典》讀書筆記——工作場所中的數據庫建模

中間 特定 理論 大學 並且 外鍵 另一個 必須 所有 規範化用於粒度化和組織在數據庫中使用的數據。 在第4章中將詳細介紹規範化和應用範式的過程。在這個階段只需要知道規範化是用於將數據劃分到單獨表中的方法或公式——根據一組規則。 不信任將視圖用於除了安全性目標之外的任何事情

Java 並發編程實踐基礎 讀書筆記 使用 JDK 並發包構建程序

mod 獲取鎖 -o key 讀取 拋出異常 編程實踐 arraylist ask 一,JDK並發包實際上就是指java.util.concurrent包裏面的那些類和接口等   主要分為以下幾類: 1,原子量;2,並發集合;3,同步器;4,可重入鎖;5,線程池 二,原子量