# 列表的相關操作
列表中存放的數據是可以進行修改的,比如"增"、"刪"、"改"、"查"
## 1\. 添加元素("增"append, extend, insert)
#### append
通過append可以向列表添加元素
demo:
~~~
#定義變量A,默認有3個元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----添加之前,列表A的數據-----")
for tempName in A:
print(tempName)
#提示、并添加元素
temp = input('請輸入要添加的學生姓名:')
A.append(temp)
print("-----添加之后,列表A的數據-----")
for tempName in A:
print(tempName)
~~~
結果:

#### extend
通過extend可以將另一個集合中的元素逐一添加到列表中
~~~
>>> a = [1, 2]
>>> b = [3, 4]
>>> a.append(b)
>>> a
[1, 2, [3, 4]]
>>> a.extend(b)
>>> a
[1, 2, [3, 4], 3, 4]
~~~
#### insert
insert(index, object) 在指定位置index前插入元素object
~~~
>>> a = [0, 1, 2]
>>> a.insert(1, 3)
>>> a
[0, 3, 1, 2]
~~~
## 2\. 修改元素("改")
修改元素的時候,要通過下標來確定要修改的是哪個元素,然后才能進行修改
demo:
~~~
#定義變量A,默認有3個元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----修改之前,列表A的數據-----")
for tempName in A:
print(tempName)
#修改元素
A[1] = 'xiaoLu'
print("-----修改之后,列表A的數據-----")
for tempName in A:
print(tempName)
~~~
結果:
~~~
-----修改之前,列表A的數據-----
xiaoWang
xiaoZhang
xiaoHua
-----修改之后,列表A的數據-----
xiaoWang
xiaoLu
xiaoHua
~~~
## 3\. 查找元素("查"in, not in, index, count)
所謂的查找,就是看看指定的元素是否存在
#### in, not in
python中查找的常用方法為:
* in(存在),如果存在那么結果為true,否則為false
* not in(不存在),如果不存在那么結果為true,否則false
demo
~~~
#待查找的列表
nameList = ['xiaoWang','xiaoZhang','xiaoHua']
#獲取用戶要查找的名字
findName = input('請輸入要查找的姓名:')
#查找是否存在
if findName in nameList:
print('在字典中找到了相同的名字')
else:
print('沒有找到')
~~~
結果1:(找到)

結果2:(沒有找到)

說明:
> in的方法只要會用了,那么not in也是同樣的用法,只不過not in判斷的是不存在
#### index, count
index和count與字符串中的用法相同
~~~
>>> a = ['a', 'b', 'c', 'a', 'b']
>>> a.index('a', 1, 3) # 注意是左閉右開區間
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2
>>> a.count('d')
0
~~~
## 4.刪除元素(del, pop, remove)
類比現實生活中,如果某位同學調班了,那么就應該把這個條走后的學生的姓名刪除掉;在開發中經常會用到刪除這種功能。
列表元素的常用刪除方法有:
* del:根據下標進行刪除
* pop:刪除最后一個元素
* remove:根據元素的值進行刪除
demo:(del)
~~~
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情']
print('------刪除之前------')
for tempName in movieName:
print(tempName)
del movieName[2]
print('------刪除之后------')
for tempName in movieName:
print(tempName)
~~~
結果:
~~~
------刪除之前------
加勒比海盜
駭客帝國
第一滴血
指環王
霍比特人
速度與激情
------刪除之后------
加勒比海盜
駭客帝國
指環王
霍比特人
速度與激情
~~~
demo:(pop)
~~~
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情']
print('------刪除之前------')
for tempName in movieName:
print(tempName)
movieName.pop()
print('------刪除之后------')
for tempName in movieName:
print(tempName)
~~~
結果:
~~~
------刪除之前------
加勒比海盜
駭客帝國
第一滴血
指環王
霍比特人
速度與激情
------刪除之后------
加勒比海盜
駭客帝國
第一滴血
指環王
霍比特人
~~~
demo:(remove)
~~~
movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情']
print('------刪除之前------')
for tempName in movieName:
print(tempName)
movieName.remove('指環王')
print('------刪除之后------')
for tempName in movieName:
print(tempName)
~~~
結果:
~~~
------刪除之前------
加勒比海盜
駭客帝國
第一滴血
指環王
霍比特人
速度與激情
------刪除之后------
加勒比海盜
駭客帝國
第一滴血
霍比特人
速度與激情
~~~
## 5\. 排序(sort, reverse)
sort方法是將list按特定順序重新排列,默認為由小到大,參數reverse=True可改為倒序,由大到小。
reverse方法是將list逆置。
~~~
>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]
~~~
- 計算機組成原理和Python基礎知識
- 計算機組成原理
- 編程語言和Python
- 開發第一個Python程序
- 注釋
- 變量以及類型
- 標識符和關鍵字
- 輸出
- 輸入
- 運算符
- 數據類型轉換
- 判斷語句和循環語句
- 判斷語句介紹
- if語句
- 比較、關系運算符
- if...else...語句格式
- if...elif...else語句格式
- if語句的嵌套
- if應用:猜拳游戲
- 循環語句介紹
- while循環
- while循環應用
- while循環的嵌套以及應用
- for循環
- break和continue
- 字符串、列表、元組、字典
- 字符串介紹
- 字符串輸出
- 字符串輸入
- 下標和切片
- 字符串常見操作
- 列表介紹
- 列表的循環遍歷
- 列表的常見操作
- 列表的嵌套
- 元組
- 字典介紹
- 字典的常見操作1
- 字典的常見操作2
- 字典的遍歷
- 集合(擴展)
- 公共方法
- 4.函數(一)
- 4.1.函數介紹
- 4.2.函數定義和調用
- 4.3.函數的文檔說明
- 4.4.函數參數(一)
- 4.5.函數返回值(一)
- 4.6.函數的嵌套調用
- 4.7.函數應用:打印圖形和數學計算
- 5.函數(二)
- 5.1.局部變量
- 5.2.全局變量
- 5.3.多函數程序的基本使用流程
- 5.4.函數返回值(二)
- 5.5.函數參數(二)
- 5.6.拆包、交換變量的值
- 5.7.引用(一)
- 5.8.可變、不可變類型
- 5.9.引用(二)
- 5.10.函數使用注意事項
- 6.強化練習
- 6.1.函數應用:學生管理系統
- 6.2.遞歸函數
- 6.3. 匿名函數
- 6.4.列表推導式
- 6.5.set、list、tuple
- 6.6.高階函數: map reduce filter
- 7.文件操作,綜合應用
- 7.1.文件操作介紹
- 7.2.文件的讀寫
- 7.3.應用1:制作文件的備份
- 7.4.文件的相關操作
- 7.5.應用:批量修改文件名
- 7.6.綜合應用:學生管理系統(文件版)
- 8.面向對象(上)
- 8.1.認識面向對象編程
- 8.2.類和對象
- 8.3.定義類
- 8.4.創建對象
- 8.5.添加和獲取對象的屬性
- 8.6.在方法內通過self獲取對象屬性
- 8.7.魔法方法 - init()
- 8.8.魔法方法 - 有參數的__init__()方法
- 8.9.魔法方法 - str()方法
- 8.10.魔法方法 - del()方法
- 8.11.實操案例 - 烤土豆
- 9.面向對象(中)
- 9.1.實操案例 - 放家具
- 9.2.繼承的概念
- 9.3.單繼承
- 9.4.多繼承
- 9.5.子類重寫父類的同名屬性和方法
- 9.6.子類調用父類同名屬性和方法
- 9.7.多層繼承
- 9.8.通過super()來調用父類的方法
- 10.面向對象(下)
- 10.1.私有屬性和私有方法
- 10.2.修改私有屬性的值
- 10.3.多態
- 10.4.類屬性和實例屬性
- 10.5.靜態方法和類方法
- 11.異常處理與模塊初識
- 11.1.異常
- 11.2.捕獲異常
- 11.3.異常的傳遞
- 11.4.拋出自定義的異常
- 11.5.獲取異常完整信息的正確姿勢
- 11.6.認識模塊
- 11.7.開發模塊
- 11.8.模塊中的__all__(未完成)
- 11.9.python中的包(未完成)
- 12.課后加餐
- 12.1.基礎應用 - 進銷存管理系統(未完成)
- 12.2.基礎應用 - 員工信息管理系統(未完成)
- 12.1.編碼規范 - PEP8編碼規范(未完成)