列表(定義、引用、修改、切片和用途)

什么是列表

列表是 Python 中最常用的數據類型之一。它是一種有序、可變,異構的數據集合,可以存儲多個不同類型的元素。

列表的特點

列表是 Python 中的一種數據結構,具有以下特點:

  • 有序性: 列表中的元素按照添加的順序進行存儲,每個元素都有一個對應的索引,可以通過索引訪問和操作列表中的元素。
  • 可變性: 列表是可變的,也就是說可以通過索引來修改、刪除或插入元素。可以改變列表的長度、內容和順序。
  • 異構性: 列表中可以同時存儲不同類型的數據,例如整數、字符串、浮點數、布爾值等。甚至可以存儲其他列表或其他復雜的數據結構。

由于列表的有序性、可變性和多樣化的數據類型,它是一種非常常用和靈活的數據結構,常用于存儲和處理一組相關的數據。列表提供了豐富的方法和操作,使得對數據的管理和處理變得更加方便和高效。

列表的定義

字面量定義

Python 中使用中括號定義列表。

l1 = []  # 創建一個空列表
l2 = [1, 2, 3, "hello", True]  # 創建一個包含多個元素的列表

由于列表具有可變性,所以空列表的定義是被允許且有意義的。

列表的構造方法定義

可能通過列表的構造方法定義列表。

當使用構造方法定義列表時,參數只能是可迭代的對象,構造方法會將參數中的元素構造成為列表的元素。

可以理解為將可迭代的對象強制類型轉換為列表。

l1 = list("abc")
l2 = list((1,2,3))
l3 = list([1,2,3])

列表中元素的引用

列表同字符串,元組一樣,也可以使用下標形式引用列表中的元素。并且,下標不能超過列表的元素個數減一,否則會拋出下標越界錯誤。

l = [1,2,3,4,5]
print(l[0])
print(l[3])
print(l[5])

列表中元素的修改

由于列表的可變特性,可以通過下標的方式,對列表中的元素進行修改。

l = [1,2,3,4,5]
l[0] = 111
l[3] = 444

列表的切片操作

列表的切片操作同字符串,元組一致

l = [1,2,3,4,5]
print(l[0:3])
print(l[:3])
print(l[3:])
print(l[:])
print(l[::-1])

列表的用途

列表在 Python 中具有廣泛的用途,主要包括以下幾個方面:

  • 存儲一組相關的數據: 列表是一種有序的數據結構,可以用于存儲一組相關的數據,如學生的成績、員工的信息、商品的價格等。通過將相關的數據放入列表中,可以方便地進行統一的管理和處理。
  • 數據的容器: 列表提供了便捷的操作方法,可以進行遍歷、搜索、插入和刪除等操作。通過索引,可以訪問列表中的特定元素;通過遍歷,可以逐個處理列表中的元素;通過方法,可以在列表中插入新元素、刪除指定元素等。
  • 算法和數據結構中的應用: 列表是一種重要的數據結構,廣泛應用于算法和數據結構的實現中。例如,列表可以用于實現棧(Stack)、隊列(Queue)、鏈表(LinkedList)等數據結構,還可以用于排序算法、搜索算法等的實現。
  • # 列表的使用
    # 有序可變異構
    def list_info():# 定義列表# 字面量方式定義l1 = []print(l1)print(type(l1))l2 = [1, 1, 1, 1, 1, 1, 2, 3, "a", "b", "c", (1, 2), [3, 4]]print(l2)print(type(l2))# 使用構造方法定義l1 = list("abc")print(l1)l2 = list((1, 2, 3, 4))print(l2)l3 = list([1, 2, 3, 4])print(l3)l1 = [1, 2, 3, 4, 5]print(l1[0])print(l1[3])# print(l1[5])l2 = [1, 1, 1, 1, 1, 2, 3, "a", "b", "c", (1, 2), [3, 4]]print(l2[10][1])print(l2[11][1])# 列表元素修改l1 =[1,2,3]print(l1)l1[0] =222print(l1)print(type(l1))# 列表切片l1 = [1,2,3,4,5,6,7,8,9]print(l1[0:4])print(l1[:5])print(l1[3:])print(l1[::2])print(l1[::-1])list_info()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42913.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42913.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42913.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【學術會議征稿】第五屆計算機工程與智能控制學術會議(ICCEIC 2024)

第五屆計算機工程與智能控制學術會議(ICCEIC 2024) 2024 5th International Conference on Computer Engineering and Intelligent Control 第五屆計算機工程與智能控制學術會議(ICCEIC 2024)將于2024年10月18日至22日在廣州舉辦&#xff0…

improved-diffusion代碼逐行理解之train

目錄 代碼理解1、解析命令行參數2、分布式設置和日志配置3、創建模型和擴散過程4、加載數據5、訓練循環6、訓練過程中的關鍵點7、日志和模型保存 代碼 improved-diffusion代碼地址:https://github.com/openai/improved-diffusion 運行代碼會遇到的幾個問題&#xf…

LDR6282-顯示器:從技術革新到視覺盛宴

顯示器,作為我們日常工作和娛樂生活中不可或缺的一部分,承載著將虛擬世界呈現為現實圖像的重要使命。它不僅是我們與電子設備交互的橋梁,更是我們感知信息、享受視覺盛宴的重要窗口。顯示器在各個領域的應用也越來越廣泛。在辦公領域&#xf…

Gradle使用插件SonatypeUploader-v2.6上傳到maven組件到遠程中央倉庫

本文基于sonatypeUploader 2.6版本 插件的使用實例:https://github.com/jeadyx/SonatypeUploaderSample 發布步驟 提前準備好sonatype賬號和signing配置 注:如果沒有,請參考1.0博文的生成步驟: https://jeady.blog.csdn.net/art…

收銀系統源碼-營銷活動-幸運抽獎

1. 功能描述 營運抽獎:智慧新零售收銀系統,線上商城營銷插件,商戶/門店在小程序商城上設置抽獎活動,中獎人員可內定; 2.適用場景 新店開業、門店周年慶、節假日等特定時間促銷;會員拉新,需會…

SQLServer連接異常

2. 文件夾對應的是[internal].[folders]表,與之相關的權限在[internal].[folder_permissions]表 項目對應的是[internal].[projects]表,與之相關的權限在[internal].[project_permissions],版本在[internal].[object_versions]表。 環境對應…

MongoDB本地配置分片

mongodb server version: 7.0.12 社區版 mongo shell version: 2.2.10 平臺:win10 64位 控制臺:Git Bash 分片相關節點結構示意圖 大概步驟 1. 配置 配置服務器 副本集 (最少3個節點) -- 創建數據目錄 mkdir -p ~/dbs/confi…

華為eNSP:HCIA匯總實驗

本次拓撲實驗需求: 1、內網地址用DHCP 2、VLAN10不能訪問外網 3、使用靜態NAT 實驗用到的技術有DHCP、劃分VLAN、IP配置、VLAN間的通信:單臂路由、VLANIF,靜態NAT、基本ACL DHCP是一種用于自動分配IP地址和其他網絡參數的協議。 劃分VLA…

新型模型架構(參數化狀態空間模型、狀態空間模型變種)

文章目錄 參數化狀態空間模型狀態空間模型變種Transformer 模型自問世以來,在自然語言處理、計算機視覺等多個領域得到了廣泛應用,并展現出卓越的數據表示與建模能力。然而,Transformer 的自注意力機制在計算每個詞元時都需要利用到序列中所有詞元的信息,這導致計算和存儲復…

Butterfly主題添加動畫加載效果

安裝插件 安裝插件,在博客根目錄[Blogroot]下打開終端,運行以下指令: npm install hexo-butterfly-wowjs --save添加配置 添加配置信息,以下為寫法示例 在站點配置文件_config.yml或者主題配置文件_config.butterfly.yml中添加 wowjs:ena…

簡單介紹 Dagger2 的入門使用

依賴注入 在介紹 Dagger2 這個之前,必須先解釋一下什么是依賴注入,因為這個庫就是用來做依賴注入的。所以這里先簡單用一句話來介紹一下依賴注入: 依賴注入是一種設計模式,它允許對象在運行時注入其依賴項。而不是在編譯時確定&a…

Andorid 11 InputDispatcher FocusedApplication設置過程分析

在Input ANR中,有一類ANR打印的reason 為 “xx does not have a focused window” ,表明 輸入事件 5s 內,只有FocusedApplication,而沒找到focused window。本文分析下FocusedApplication的設置過程。 setFocusedApp 源碼路徑&am…

iOS 應用內存超過多少會收到系統內存警告 ?

iOS 應用內存超過多少會收到系統內存警告 ? 在 iOS 應用中,系統內存警告的觸發是由 iOS 操作系統動態決定的,并不是一個固定的閾值。系統會根據當前設備的可用內存、正在運行的其他應用程序的內存需求以及當前應用程序的內存占用情況來判斷是…

用PlantUML可視化顯示JSON

概述 PlantUML除了繪制UML中的一些標準圖之外,也可以以圖形化的方式顯示一些其他圖形或數據形式的結構,這其中就包括JSON。 它以一種簡單且優美的圖形形式,表達了JSON的結構。你可以用它來作為設計JSON數據文件的依據,輔助設計或…

day01:項目概述,環境搭建

文章目錄 軟件開發整體介紹軟件開發流程角色分工軟件環境 外賣平臺項目介紹項目介紹定位功能架構 產品原型技術選型 開發環境搭建整體結構:前后端分離開發前后端混合開發缺點前后端分離開發 前端環境搭建Nginx 后端環境搭建熟悉項目結構使用Git進行版本控制數據庫環…

【C++】AVL樹(旋轉、平衡因子)

🌈個人主頁:秦jh_-CSDN博客🔥 系列專欄:https://blog.csdn.net/qinjh_/category_12575764.html?spm1001.2014.3001.5482 ? 目錄 前言 AVL樹的概念 節點 插入 AVL樹的旋轉 新節點插入較高左子樹的左側---左左:…

【C++】stack和queue的模擬實現 雙端隊列deque的介紹

🔥個人主頁: Forcible Bug Maker 🔥專欄: STL || C 目錄 🌈前言🔥stack的模擬實現🔥queue的模擬實現🔥deque(雙端隊列)deque的缺陷 🌈為什么選擇…

基于Go 1.19的站點模板爬蟲

創建一個基于Go 1.19的站點模板爬蟲涉及到幾個關鍵步驟:初始化項目,安裝必要的包,編寫爬蟲邏輯,以及處理和存儲抓取的數據。下面是一個簡單的示例,使用goquery庫來解析HTML,并使用net/http來發起HTTP請求。…

【containerd】解決敲擊crictl images命令報錯問題

【Containerd】解決輸入crictl images命令報錯問題 文章目錄 【Containerd】解決輸入crictl images命令報錯問題問題復現解決辦法驗證結果參考鏈接 問題復現 [rootmaster01 ~]# crictl images WARN[0000] image connect using default endpoints: [unix:///var/run/dockershim…

七、Docker常規軟件安裝

目錄 一、總體步驟 二、安裝tomcat 1、docker hub上查找tomcat鏡像 三、安裝MySQL 1、查看MySQL鏡像 2、拉取MySQL鏡像到本地,本次拉取MySQL5.7 3、使用MySQL鏡像創建容器 4、使用Windows數據庫工具,連接MySQL實例 5、常見問題 6、創建MySQL容器實例 7、新…