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. 定義3個辦公室的列表:列表嵌套
2. 聲明8位老師到列表中
3. 遍歷老師的列表
4. 隨機存放到辦公室中
提示:獲取隨機數
import random
index = random.randint(0, 2) # 獲取0、1、2中的任意一個
大家可以在評論區討論這個練習