Python筆記(2)——列表一:列表簡介(Python編程:從入門到實踐)

来源:https://www.cnblogs.com/BeiChenAZ-ER/archive/2023/01/09/17035206.html
-Advertisement-
Play Games

一、列表是什麼 列表:由一系列按特定順序排列的元素組成(列表是有序集合)。 表示:用方括弧[]來表示,並用逗號來分隔其中的元素。 訪問:訪問列表元素,可指出列表的名稱,再指出元素的索引,並將其放在方括弧內。請求獲取列表元素時,Python只返回該元素,而不包括方括弧和引號。 列表索引從0開始:在Py ...


一、列表是什麼

  1. 列表:由一系列按特定順序排列的元素組成(列表是有序集合)。

  2. 表示:用方括弧[]來表示,並用逗號來分隔其中的元素。

  3. 訪問:訪問列表元素,可指出列表的名稱,再指出元素的索引,並將其放在方括弧內。請求獲取列表元素時,Python只返回該元素,而不包括方括弧和引號。

  4. 列表索引從0開始:在Python中,第一個列表元素的索引為0,而不是1。要訪問第四個列表元素,可使用索引3。索引-1返回列表最後一個元素。索引-2返回倒數第二個列表元素

  5. 使用列表中的各個值:可像使用其他變數一樣使用列表中的各個值。例如,可使用拼接(+)根據列表中的值來創建消息。

 1 F=['red','blue','green','yellow'] 
 2 
 3 #訪問列表元素:
 4 print(F[2])  #列表名稱+[索引]
 5 
 6 #列表索引從0開始:
 7 print(F[0]) #第一個元素
 8 print(F[3]) #第四個元素
 9 print(F[-1]) #最後一個元素
10 print(F[-3]) #倒數第三個元素
11 
12 #使用列表中的各個值:
13 print("我最喜歡的顏色是"+F[0]+"")

運行代碼結果如下:

二、修改、添加和刪除元素 

  1.修改列表元素

  要修改列表元素,可指定列表名和要修改的元素的索引再指定該元素的新值列表名[索引]=新值】

1 #   1.修改列表元素:
2 F=['red','blue','green','yellow'] 
3 print(F)
4 F[2]="black" #列表名[索引]=新值
5 print(F)

代碼運行結果:

  2. 添加列表元素

  (1)在列表末尾添加元素:使用方法.append()。可創建一個空列表,再使用一系列的append()語句添加元素。列表.append(值)】

  (2)在列表中插入元素:使用方法.insert() 在列表任何位置添加新元素。列表.insert(索引,值)】。要特別註意當索引為負值時插入的位置。

 1 #   2.添加列表元素
 2 A=[90,80,'green'] 
 3 print(A)
 4 #(1)在列表末尾添加元素
 5 A.append(100)  #列表名.append(值)
 6 print(A)
 7 #(2)在列表中插入元素
 8 A.insert(1,20.6)  #列表名.insert(索引,值)
 9 print(A)
10 A.insert(-1,55)  #註意:列表.insert(索引 = -1, 值)時,當索引 = 負數時,是從倒數倒數第二位開始插入。
11 print(A)

 代碼運行結果:

  3.刪除列表元素

  (1)使用del語句刪除:前提是知道索引。del 列表[索引]】

  (2)使用方法.pop()刪除:方法pop()可刪除列表元素,並接著使用它。方法中無參數時,預設刪除列表末尾元素。列表.pop(索引)】

  (3)根據值刪除元素:不知道元素索引,知道值,使用.remove()方法刪除,使用remove()從列表中刪除元素時,也可接著使用它的值。列表.remove(值)】

註意:方法remove()只刪除第一個指定的值。如果要刪除的值可能在列表中出現多次,就需要使用迴圈來判斷是否刪除了所有這樣的值。
 1 #   3.刪除列表元素:
 2 B=["C#","C++","python","java","GIS","RS","WebGIS"]
 3 print(B)
 4 
 5 #(1)使用del語句刪除
 6 del B[1] #del 列表[索引]
 7 print(B)
 8 
 9 #(2)使用方法pop()刪除
10 B.pop() #方法中無參數時,預設刪除列表末尾元素。列表.pop()
11 print(B)
12 b1=B.pop() #使用方法pop()刪除列表元素時,可以接著使用它。所以將其賦值給變數f1
13 print(b1)
14 print(B)
15 B.pop(0) #刪除指定位置元素。列表.pop(索引)
16 print(B)
17 
18 #(3)根據值刪除:不知索引,使用方法 .remove()
19 C=[11,22,33,44,55,66]
20 print(C)
21 C.remove(33)
22 print(C)
23 mm=66 #使用remove()從列表中刪除元素時,也可接著使用它的值。但是它的使用與.pop()不同,不能使用變數=列表.remove(),而是命名變數=列表元素
24 C.remove(mm)
25 print(C)
26 print("That man is "+str(mm)+" years old.") #要用str()將mm轉為字元串輸出,不然會報錯:TypeError: can only concatenate str (not "int") to str

代碼運行結果:

三、組織列表

  1. 使用方法 .sort()對列表進行永久性排序

  方法.sort()按字母順序排列永久改變列表順序,如果要按字母順序相反方向排列元素,則需向方法中傳遞參數reverse=True【列表.sort()】或【列表.sort(reverse=True)】

1 #使用方法 sort()對列表進行永久性排序
2 Alist1=['Python','123','WebGIS','Cnblogs']
3 print(Alist1)
4 Alist1.sort() #降序排列
5 print(Alist1) 
6 Alist2=['Python','123','WebGIS','Cnblogs']
7 Alist2.sort(reverse=True) #升序排列
8 print(Alist2)

代碼運行結果:

  2. 使用函數 sorted()對列表進行臨時排序

  函數sorted()按字母順序臨時改變列表順序,如果要按字母順序相反方向排列元素,則需向函數中傳遞參數reverse=True【sorted(列表)】或【sorted(列表,reverse=True)】

註意:臨時排序與永久排序不一樣:臨時排序定義列表後,不能【sorted(列表)】再【print(列表)】。因為是臨時排序,直接【print(列表)】會輸出原列表。

 1 #使用函數 sorted()對列表進行臨時性排序
 2 print("降序排列")
 3 Alist1=['123','Cnblogs','Python','WebGIS','B'] #定義列表
 4 print(Alist1) #輸出原列表
 5 print(sorted(Alist1))  #臨時降序排序
 6 print(Alist1) #再次輸出列表,與原列表相同
 7 
 8 print("\n升序排列")
 9 Alist2=['Python','123','WebGIS','Cnblogs'] #定義列表
10 print(Alist2) #輸出原本列表
11 print(sorted(Alist2,reverse=True)) #輸出臨時升序排列!註意反向排序表達!
12 print(Alist2) #再次輸出列表,與原列表相同
13 # 註意臨時排序與永久排序不一樣:臨時排序定義列表後,不能【sorted(列表)】再【print(列表)】。因為是臨時排序,直接【print(列表)】會輸出原列表。

代碼運行結果:

  • 拓展一:字元編碼排序

python預設編碼:

  python 2.x預設的字元編碼是ASCII,預設的文件編碼也是ASCII。

  python 3.x預設的字元編碼是unicode,預設的文件編碼是utf-8。

兩種編碼方式排序相同:以十進位表示部分字元編碼:

0~9:48~57

A~Z:69~90

a~z:97~122

  • 拓展二:函數和方法形式上的區別

  (1)方法:【變數.方法(其他參數)】,其他參數可無。例如:Alist.sort(reverse=True)   (2)函數:【函數(變數,其他參數) 】,其他參數可無。例如:sorted(Blist,reverse=True)

  3. 倒著列印列表

  要反轉列表元素的排列順序,可使用方法.reverse()。方法.reverse()永久性地修改列表元素的排列順序,但可隨時恢復到原來的排列順序,只需對列表再次調用reverse()即可。

註意:.reverse()不是指按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序

1 D=['a','c','100','e','A']
2 print(D) #原列表
3 D.reverse() #第一次反轉
4 print(D)
5 D.reverse()#第二次反轉,變回原列表
6 print(D)

代碼運行結果:

  4. 確定列表的長度

  使用函數len()獲取列表長度。【len(列表)】

註意:python計算元素時從1開始,要與列表索引區別開。

1 D=['a','c','100','e','A']
2 print(len(D))

代碼運行結果:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ###慣例,先鳴謝大佬的文章:將NetCore智能提示從英文變成中文 第一步:下載語言包並解壓 ####按照大佬的指導,先到Download localized .NET IntelliSense files 下載了語言包 ####下載之後解壓出三個文件 ####我想要的就是 NETStandard ...
  • 安裝的需要VMware官方網站安裝VMware Workstation Pro 16:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.0.0-16894299.exeVMware Workstati ...
  • 利用 GetSystemTimes 可以獲得 Windows 系統的 Idle Time、 Kernel Time 和 User Time。Idle Time 是系統空閑的時間,也就是系統沒有利用的時間。Kernel Time 是系統在內核模式下的執行時間。User Time 是系統在用戶模式下的執 ...
  • 官網下載: https://www.snipaste.com Snipaste 免費,支持 Windows、Mac,Windows 上的功能相當多而且,Mac 也夠用了 不僅僅是個截圖工具,具有強大功能: 截圖 貼圖(直接將截圖貼在桌面上,當標簽貼使用) 取色器 常用快捷健 fn + F1: 開始截 ...
  • Vue02 7.修飾符 7.1基本說明 修飾符(Modifiers)是以.指明的尾碼,指出某個指令以特殊方式綁定 官方文檔:修飾符 Vue中的修飾符有: 事件修飾符 按鍵修飾符 系統修飾符 事件修飾符 <!-- 阻止單擊事件繼續傳播 --> <a v-on:click.stop="doThis">< ...
  • 變數作用域: 1、全局變數:在全局作用域下聲明的變數 ​ 在函數內部沒有聲明直接賦值的變數也是屬於全局變數 全局變數:只有瀏覽器關閉的時候才會銷毀,比較占記憶體資源 局部變數 :當我們程式執行完畢就會銷毀,比較節約記憶體資源 作用域鏈:內部函數訪問外部函數的變數,採取的是鏈式查找的方式來決定取哪個值 這 ...
  • 歡迎閱讀本系列其他文章 【前端調試】- 更好的調試方式 VSCode Debugger 【前端調試】- 斷點調試的正確打開方式 介紹 首先簡單過一下Performance的使用,打開網頁點擊控制台Performance,錄製5s的數據 其中 Main 這部分就是網頁的主線程,也就是執行 Event ...
  • 方法 System.out.println();//是什麼嗎? //系統類+對象+方法 Java方法是一對語句的集合,他們一起負責執行一個功能 方法是解決一類問題的步驟的有序組合 方法包含於類或對象中 方法在程式中被創建,在其他地方被引用 設計原則: 方法本意是功能塊**(類似C語言的函數)**, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...