Python筆記(3)——列表二:操作列表(Python編程:從入門到實踐)

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

【列表一:操作列表】:這裡總結了操作列表的部分知識,包括使用for迴圈遍歷列表、range()函數介紹、使用range()函數創建數值列表,以及是列表的切片。 ...


一、遍歷列表

  1. 遍歷整個列表:使用for迴圈

1 colors=['red','yellow','blue','green'] #定義列表
2 for color in colors: #使用迴圈:從列表中提取一個元素並將其存在變數i中
3     print(color) #列印變數i的值
以上代碼運行的結果是:
  執行第1行代碼定義列表colors,執行第2行代碼;for語句末尾的冒號告訴Python,下一行是迴圈的第一行。進入第一次迴圈 第2行代碼獲取列表colors中的第一個值('red'),並將其存儲到變數 color 中;接下來執行第3行代碼,讓Python列印 color 的值'red'。完成第一次迴圈。   由於列表還包含其他值,Python返回到迴圈的第一行,即第2行代碼,開始第二次迴圈 Python獲取列表中的第二個顏色'yellow',並將其存儲到變數 color 中,再執行第3行代碼,Python再次列印變數 color 的當前的值'yellow',完成第二次迴圈。   依此類推,直至對列表中的最後一個值'green'進行處理。至此,列表沒有其他的值了,Python執行程式的下一行代碼。   在這個示例中,for迴圈後面沒有其他的代碼,程式就此結束。

  2.for 迴圈中的縮進與結束後操作

1 colors=['red','yellow','blue','green']
2 for color in colors: 
3     print(color.title()+"是我最喜歡的顏色。") 
4     print(""+color.upper()+"是他最討厭的顏色。\n")
5 print("這條語句不在迴圈內,只在迴圈結束後執行一次")
以上代碼運行的結果是:
  在代碼for color in colors後面,每個縮進的代碼行都是迴圈的一部分,且將針對列表中的每個值都執行一次。因此,可對列表中的每個值執行任意次數的操作。由於前兩條print語句都縮進了,因此它們都將針對列表中的每個元素執行一次。第二條print語句中的換行符"\n",在每次迭代結束後都插入一個空行從。第3條print語句不在迴圈內,只在迴圈結束後執行一次

二、創建數值列表

  1.函數 range()介紹

  可用Python函數range()讓成一系列的數字。函數range()Python指定的第一個值開始數,併在到達指定的第二個值後停止,輸出不包含第二個值
1 for value_1 in range(2,7): #使用迴圈遍歷range(2,7)的整數
2     print (value_1)
以上代碼運行的結果是:

   2.創建數值列表

  要創建數字列表,可使用函數list()range()的結果直接轉換為列表。如果將range()作為list()的參數,輸出將為一個數字列表使用函數range()時,還可指定步長。【range(a,b,c)】a為開始元素,b為結束元素(不包含b),c為步長。

  列表解析:將for迴圈和創建新元素的代碼合併成一行,並自動附加新元素。用法:首先指定一個描述性的列表名,如Sa;然後指定一個左方括弧,並定義一個表達式,用於生成你要存儲到列表中的值。在下麵20-24行代碼中,表達式為a**2,它計算平方值。接下來,編寫一個for迴圈,用於給表達式提供值,再加上右方括弧。在下麵示例中,for迴圈為for value in range(1,11),它將值1~10提供給表達式value**2。請註意,這裡的for語句末尾沒有冒號。

 1 print('創建數字列表')
 2 num=list(range(10,15)) #創建num列表,將range()的結果直接轉換為列表。此處range()作為列表的參數,運行後輸出一個數字列表
 3 print(num)
 4 
 5 print('\n指定range()的步長')
 6 num1=list(range(10,15,2)) #從10開始,到15(不包括15),步長為2
 7 print(num1)
 8 
 9 print("\n練習:創建一個包含前十個整數的平方列表")
10 As=[] #新建空列表
11 for a in range(1,11): #使用range()函數創建數字1~10,並將其保存在變數a中
12     A=a**2 #計算當前迴圈值得平方
13     As.append(A) #使用append()方法將當前平方值添加到列表中
14 print(As) #迴圈結束後,列印列表。
15 
16 print("\n練習的簡介代碼")
17 S=[]
18 for i in range(1,11):
19     S.append(i**2)
20 print(S)
21     
22 print("\n列表解析例子:將練習代碼合成一行")
23 Sa=[a**2 for a in range(1,11)]
24 print(Sa)
以上代碼運行的結果是:

  3.數字列表簡單統計計算 

 min()函數:返回數字列表最小值

max()函數:返回數字列表最大值

sum()函數:對數字列表元素求和

1 D=[10,20,30,40,50,60,70,80,90,0]
2 print(min(D))
3 print(max(D))
4 print(sum(D))
以上代碼運行的結果是:

三、使用列表的一部分

  1. 切片

  創建切片,需使用起始元素和終止元素的索引。列表的切片返回的是列表,可理解為獲取原列表的子集。【list[a:b:c]】,a、b、c分別為起始於索引、終止索引及步長(不包括終止位置元素b) 

 註意:

  ①列表切片使用符號是冒號“:”range()函數使用的是逗號“,”。列表用逗號“,”分隔。

  ②未指定起始索引,預設從原列表第一個位置,即索引0開始提取元素。

  ③未指定終止索引,預設提取到列最後一個元素。

  ④列表中的步長理解:假設原列表為Q=[-20,-10,10,20,30,40,50,60,70,80,90,100,0]切片為Q[3:10:3],則切片從3號索引的20開始,到9號索引位的80,間隔3提取元素組成列表。提取的子集為[50,80]特別註意,間隔3可理解為從起始索引位開始,向後開始數1~3,要提取每次數到3時該索引位置的元素。

 1 alist=[3,'@','pen','book',6,'W','top']
 2 print(alist)  #列印原列表
 3 print("列表的切片返回的是列表,可理解為獲取原列表的子集")
 4 print(alist[:])  #同樣是列印原列表。列表切片使用的符號是冒號【:】,註意range()函數使用的是逗號【,】。列表用逗號【,】分隔
 5 print(alist[:3])  #未指定開始索引,從頭開始到索引3(不包括索引3位置元素)
 6 print(alist[3:])  #未指定終止元素,切片未從索引3位置到列表最後
 7 print(alist[0:2])  #提取第1-2個元素
 8 print(alist[1:5:2])  #以2未步長,提取從第2個開始到第5個元素,即索引4位置元素。註意步長
 9 print(alist[1::2])  #以2為步長,提取從第2個開始到列表最後的元素
10 print(alist[-3:])  #提取倒數第三位至最後的元素
11 print(alist[2:-2]) #提取從第三位到倒數第二位之間的元素

以上代碼運行的結果是:

   2. 遍歷切片

  要遍歷列表的部分元素,可在for迴圈中使用切片。下麵的例子將遍歷前三個元素並將其列印出來。

 1 print("代碼1:")
 2 alist=[3,'@','pen','book',6,'W','top']
 3 AA=alist[0:3]
 4 for a in AA:
 5     print(a)
 6 
 7 print("\n代碼2:")
 8 alist_1=[3,'@','pen','book',6,'W','top']
 9 for a in alist_1[:3]:
10     print(a)
以上代碼運行結果是:

  使用列表解析不能得到上面要求的結果:

1 print("\n'代碼3:列表解析'不能得到提取前三個元素並將其列印的結果,因為列表解析得到的是列表")
2 alist_2=[3,'@','pen','book',6,'W','top']
3 a=[i for i in alist_2[:3]]
4 print(a)
以上代碼運行的結果是:

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

-Advertisement-
Play Games
更多相關文章
  • 摘要:Cookie、Session、Token 這三者是不同發展階段的產物 本文分享自華為雲社區《Cookie、Session、Token 背後的故事》,作者: 龍哥手記。 1. 網站交互體驗升級 作為網友的我們,每天都會使用瀏覽器來逛各種網站,來滿足日常的工作生活需求。 現在的交互體驗還是很絲滑的 ...
  • VUE 筆記目錄:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 視頻教程(P146~P148) 本篇是使用的vue2。雖然vue3.x已經出了,目前但對於後端人員來說瞭解一些vue2就足夠了。不需要過於深入學習 Vue是一套前端框架,免除原 ...
  • 電銷是什麼?就是坐席拿著電話給客戶打電話嗎?no no no,讓我們一起走進京音平臺之電銷系統。 京音平臺2020年初開始建設,過去的兩年多的時間里,經歷了跌宕起伏,有經驗、有教訓,整體來說平臺經歷了人工、自動化階段,目前處於初步智能化階段,希望可以將過去的一些心路歷程分享給大家,共同交流、共同進... ...
  • 每條if語句的核心都是一個值為True或False的表達式。Python根據條件測試的值為True還是False來決定是否執行if語句中的代碼。如果條件測試的值為True,Python就執行緊跟在if語句後面的代碼;如果為False,Python就忽略這些代碼。 1. 檢查是否相等:將一個變數的當前 ...
  • 最近刷leetcode題,使用了move()函數及優先隊列(堆)priority_queue數據結構,記錄一下! 1.move函數 move(obj)函數的功能是把obj當做右值處理,可以應用在對象的移動上。 右值引用 為了支持移動操作,新標準引入了一種新的引入類型——右值引用,所謂右值引用就是必須 ...
  • 元組 1. 元組:不可變的列表。元組一經創建不能被修改。 2. 表示:用圓括弧()來表示,並用逗號來分隔其中的元素。可通過索引訪問其元素。 3. 訪問:訪問列表元素,指出元組的名稱,再指出元素的索引,並將其放在方括弧內。請求獲取列表元素時,Python只返回該元素,而不包括方括弧和引號。元組訪問與列 ...
  • 2023-01-09 一、Mybatis映射文件 1、映射文件根標簽 mapping標簽: 該標簽中的namespace要求與介面的全類名一致 2、映射文件子標簽 (1)cache(該命名空間的緩衝配置) (2)cache-ref(引用其他命名空間的緩存配置) (3)resultMap(描述如何從數 ...
  • python數據分析與可視化常用庫 numpy+matplotlib+pandas 思維導圖 圖中難免有錯誤,後期隨著學習與應用的深入,會不斷修改更新。 當前版本號:1.0 numpy介紹 NumPy 是什麼? NumPy是使用Python進行科學計算的基礎軟體包。除其他外,它包括: 功能強大的N維 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...