Python--List列表

list列表??

1高級數據類型


Python中的數據類型可以分為:數字型(基本數據類型)和非數字型(高級數據類型)
●數字型包含:整型int、浮點型float、布爾型bool、復數型complex
●非數字型包含:字符串str、列表list、元組tuple、集合set、字典dict

高級數據類型的特點
●都是一個序列 sequence,也可以理解為 容器
●獲取某一個元素 數據集[index] (集合除外,無序的)
●通過for循環遍歷
●都可以計算長度、最大/最小值、比較、刪除
●連接 + 和 重復 *
●切片,獲取容器一部分

2. 列表

列表 是 Python 中使用 最頻繁 的數據類型,專門用于存儲 一串 數據,存儲的數據 稱為 元素
列表的類型是:list

2.1. 列表的定義

列表用[]定義,元素之間用逗號,分隔

namesList = ['林青霞','張曼玉','胡慧中']

2.2. 訪問列表的元素

查找列表中元素是按照列表索引進行查找的。索引 就是元素在 列表 中的位置編號,又可以被稱為 下標
索引是從0開始的,例如:第一個元素,索引就為0

namesList = ['林青霞','張曼玉','胡慧中']
# 獲取第二個人
name = namesList[1]
print(name)

2.3. 遍歷列表

可以通過for遍歷列表中的元素

namesList = ['林青霞','張曼玉','胡慧中']
# 遍歷列表
for name in namesList:print(name)

2.4. 列表的操作

列表可以增加新的元素,刪除元素,修改元素。還可以對列表進行排序等操作

增加元素

通過append增加新元素

namesList = ['林青霞','張曼玉','胡慧中']
# 增加高圓圓
namesList.append('高圓圓')
print(namesList)

結果:

['林青霞', '張曼玉', '胡慧中', '高圓圓']

刪除元素

通過pop刪除指定索引元素

namesList = ['林青霞','張曼玉','胡慧中']
# 刪除張曼玉
namesList.pop(2)
print(namesList)
# ['林青霞','張曼玉']

通過remove方法刪除指定內容元素

namesList = ['林青霞','張曼玉','胡慧中']
# 刪除張曼玉
namesList.remove('張曼玉')
print(namesList)

結果:

['林青霞', '胡慧中']

修改元素

通過 列表[索引]=新數據 修改元素

namesList = ['林青霞','張曼玉','胡慧中']
# 將張曼玉修改成高圓圓
namesList[1] = '高圓圓'
print(namesList)

結果:

['林青霞', '高圓圓', '胡慧中']

查詢

通過 列表[索引] 獲取元素

namesList = ['林青霞','張曼玉','胡慧中']
# 查找第二個元素
ele = namesList[1]
print(ele)

結果:

張曼玉

通過 列表.index(元素) 查找元素的索引

namesList = ['林青霞','張曼玉','胡慧中']
# 查找元素張曼玉的索引
index = namesList.index('張曼玉')
print(index)

結果:

1

2.5. 列表的排序

通過 列表.sort() 對列表進行升序排序

ageList = [90,10,30,20,50,70]
# 從小到大 升序
ageList.sort()
print(ageList)

結果:

[10, 20, 30, 50, 70, 90]

通過 列表.sort(reverse=True) 對列表進行降序排序

ageList = [90,10,30,20,50,70]
# 從大到小 降序排序
ageList.sort(reverse=True)
print(ageList)

結果:

[90, 70, 50, 30, 20, 10]

通過 列表.reverse() 對列表進行反轉

ageList = [90,10,30,20,50,70]
# reverse 將列表進行反轉
ageList.reverse()
print(ageList)

結果:

[70, 50, 20, 30, 10, 90]

2.6. 列表的嵌套

列表中的元素可以是列表類型的數據,就稱為列表的嵌套

嵌套列表的定義:

students = [['林青霞','狄龍','鄭少秋'],['張曼玉','梁朝偉']
]

查詢元素

# 查詢鄭少秋
student = students[0][2]

修改元素

# 修改張曼玉位高圓圓
students[1][0] = '高圓圓'

3. 練習-辦公室分配

需求

一個學校,有3個辦公室,現在有8位老師等待工位的分配

['袁騰飛', '羅永浩', '俞敏洪', '李永樂', '王芳芳', '馬云', '李彥宏', '馬化騰']

請編寫程序:

  1. 完成隨機的分配
  2. 打印辦公室信息 (每個辦公室中的人數,及分別是誰)

分析

1. 定義3個辦公室的列表:列表嵌套
2. 聲明8位老師到列表中
3. 遍歷老師的列表
4. 隨機存放到辦公室中

提示:獲取隨機數

import random
index = random.randint(0, 2) # 獲取0、1、2中的任意一個

大家可以在評論區討論這個練習

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

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

相關文章

TypeScript-type注解對象類型

type注解對象類型 在TS中對于對象數據的類型注解,除了使用interface之外還可以使用類型別名來進行注解,作用類似 type Person {name: stringage: number }const p:Person {name: lily,age: 16 } type 交叉類型&模擬繼承 類型別名配合交叉類型…

docker創建的rabbitmq,啟動容器時報:Failed to create thread: Operation not permitted (1)

原因:docker內的用戶權限受限 啟動docker時加上參數 --privilegedtrue docker run --privilegedtrue -d --name rabbitmq --restartalways -p 5671:5671 -p 5672:5672 -p 15672:15672 -p 15671:15671 -p 25672:25672 -v /home/rabbitmq/data/:/var/rabbitm…

整合SSM框架筆記

整合SSM框架筆記 Spring5 Spring MVC MyBatis Druid MySQL Thymeleaf 感謝尚硅谷課程:B站課程 前言 單Spring框架時,是Java工程。 Spring與Spring MVC可以共用一個配置文件,也可以不共用一個,推薦不共用一個。 Spring與Sp…

Quartus 聯合 ModelSim 仿真 IP 核(RAM)

文章目錄 ModelSim 路徑設置創建 RAM進行仿真 本文主要介紹如何在包含 IP 核的 Quartus 項目中使用 Modelsim 進行仿真,本文基于 IP 核 RAM: 2-PORT,其他 IP 核類似。 ModelSim 路徑設置 點擊 Tools->Options 點擊 EDA Tool Options,設置…

BeanFactory、FactroyBean、ApplicationContext

BeanFactory Ioc容器、定義接口規范來管理spring bean的生命周期、依賴、注入,spring中有各種Ioc容器 FactroyBean 定制的工廠Bean,可以通過抽象工廠方式創建的bean,不納入spring的生命周期、依賴、注入特性,相當于spring給第三…

string OJ題

下面分享一下string做題心得 1. 明白字符串中存儲的數字為0 8 9與0 8 9 完全不同,字符0其實在串中存儲的是48,要有意識的轉化。字符串中如果存數字8,意味著存了BS(退格) 例如1: 算出結果為5,存…

MySQL 用戶變量賦值、查詢賦值、滾動賦值

在MySQL中,用戶變量是一種在會話級別存儲和重用值的方式,它們以符號開頭。用戶變量可以在查詢中用來存儲和傳遞數據,增強SQL腳本的功能性。 定義和賦值用戶變量用戶變量可以直接在查詢中定義并賦值,不需要預先聲明。賦值可以使用S…

springboot+mybatis+druid 配置單實例多數據源

第一步&#xff1a;pom中添加依賴 <!--mybatis多數據源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>2.5.6</version></dependency> 第…

Selenium 自動化測試工具<2>(Selenium 常用API的使用方法)

文章目錄 瀏覽器操作瀏覽器最大化設置瀏覽器的大小瀏覽器的前進和后退操作瀏覽器滾動條 鍵盤事件單個按鍵用法鍵盤組合鍵用法 鼠標事件不同窗口搜索定位一組元素定位多層框架下拉框定位alert、confirm、prompt 的處理上傳文件操作自動截屏 繼上一篇文章對 Selenium API 的使用&…

RT-DRET在實時目標檢測上超越YOLO8

導讀 目標檢測作為計算機視覺的核心任務之一&#xff0c;其研究已經從基于CNN的架構發展到基于Transformer的架構&#xff0c;如DETR&#xff0c;后者通過簡化流程實現端到端檢測&#xff0c;消除了手工設計的組件。盡管如此&#xff0c;DETR的高計算成本限制了其在實時目標檢測…

搭建屬于自己的 Git 倉庫:GitLab

搭建屬于自己的 Git 倉庫&#xff1a;使用 GitLab 文章目錄 搭建屬于自己的 Git 倉庫&#xff1a;使用 GitLab什么是 GitLab&#xff1f;準備工作安裝 Docker使用Docker Compose 快速構建GitLab1、從docker compose快速搭建GitLab2、部署到服務器并訪問3、瀏覽器訪問 在現代軟件…

【數據結構】------C語言實現二叉樹

作者主頁&#xff1a;作者主頁 數據結構專欄&#xff1a;數據結構 創作時間 &#xff1a;2024年5月20日 一、二叉樹的定義 二叉樹(Binary Tree) 是由n個結點構成的有限集(n≥0)&#xff0c;n0時為空樹&#xff0c;n>0時為非空樹。 對于非空樹&#xff1a; 有且僅有一個根…

接口自動化核心模塊Requests詳解(一)

一、Requests簡介 Python的Requests庫是一個功能強大且簡潔的庫&#xff0c;提供了簡單易用的接口來處理HTTP請求。 二、Requests的使用步驟 2.1 安裝Requests庫 在終端命令行&#xff0c;使用pip命令進行安裝&#xff0c; pip install requests 2.2 Requests庫常用方法…

騰訊Java社招面試題真題,最新面試題

Java中synchronized和ReentrantLock有什么區別&#xff1f; 1、鎖的實現方式不同&#xff1a; synchronized是JVM層面的鎖&#xff0c;主要依賴于監視器對象&#xff08;monitor&#xff09;實現。ReentrantLock是JDK層面的鎖&#xff0c;通過Java代碼實現&#xff0c;提供了更…

語雀——云知識庫/筆記

對于日常進行學習/創作或是記錄學習、工作內容與心得的群體來說&#xff0c;能夠及時同步的云筆記應用有著廣泛的應用場景。近期&#xff0c;我也探索了許多款不同的軟件應用&#xff0c;今天來分享一款很有特點的應用——語雀。 語雀&#xff0c;為每一個人提供優秀的文檔和知…

1.6 什么是程序-編譯與調試

目錄 1 程序的作用 2 新建項目及編譯運行 2.1 新建項目 2.2 HelloWorld 程序說明 2.3 printf 打印輸出 2.4 注釋 3 程序的編譯過程及項目位置 4 斷點及調試窗口設置 5 學習C語言后的境界 1 程序的作用 如下圖所示&#xff0c;我們編寫了一個可以做加法的程序&#xf…

vue3 vite項目配置了proxy代理情況下查看真實的接口調用地址

vite配置了proxy代理情況下如何查看真實的接口調用地址? 使用vite進行代理 在vite.config.ts配置了代理 在瀏覽器查看請求頭和響應頭發現只有代理前的url&#xff0c;沒有顯示代理后的路徑 然后發現一個bypass函數&#xff0c;但是此函數只能修改res響應頭的數據&#xff0…

C語言基礎-鏈表和數組的區別

在C語言中&#xff0c;鏈表&#xff08;Linked List&#xff09;和數組&#xff08;Array&#xff09;是兩種常用的數據結構&#xff0c;它們在數據存儲和訪問上各有其獨特的作用和優勢。以下是對這兩種數據結構的作用以及它們之間的不同點的詳細說明&#xff1a; 數組&#x…

Dockerfile文件詳細介紹

前言 Dockerfile是一個文本文件&#xff0c;包含了用于構建Docker鏡像的所有命令和說明。它定義了容器的運行環境、依賴以及啟動方式&#xff0c;是創建Docker鏡像的核心部分。 由于制作鏡像的過程中&#xff0c;需要逐層處理和打包&#xff0c;比較復雜&#xff0c;所以Docke…

實戰復盤:內網環境滲透ms-SQL數據庫

滲透環境&#xff1a;如下圖所示&#xff0c;web服務器、ms-SQL服務器、PC客戶端在同一個網絡中&#xff0c;彼此之間&#xff0c;沒有路由器或防火墻的隔離&#xff0c;這是一種危險的網絡結構&#xff0c;入侵ms-SQL服務器&#xff0c;非常容易。&#xff08;實戰中&#xff…