快速了解Python list
list在python中是使用非常頻頻繁的數(shù)據(jù)類型,也就是python中的“列表”,在其他編程語言中通常叫做“數(shù)組”。
Python lsit(列表)的作用和定方法
Python list專門用于存儲(chǔ)一串信息,使用[]定義,數(shù)據(jù)之間用英文逗號(hào)“,”分隔。例如下面定義一個(gè)name_list列表:
name_list = ["張三", "李四", "王五", "趙六"]
列表索引
列表索引就是數(shù)據(jù)在列表中的位置編號(hào),索引又被成為下標(biāo)。需要注意的是列表索引的取值范圍是從0開始的,如果從列表取值時(shí),超出索引范圍程序會(huì)報(bào)錯(cuò)。
name_list = ["張三", "李四", "王五", "趙六"]
例如上面定義的name_list中“張三”的索引值為“0”,“趙六”的索引值為“3”。
如何從list中取值
基本語法為:
列表名[索引值]
例如我們要從name_list中取“張三”這個(gè)值,然后使用print函數(shù)打印輸出,代碼如下:
name_list = ["張三", "李四", "王五", "趙六"]
print(name_list[0])
python list中的常用操作
在ipython中頂一個(gè)列表,例如name_lsit = [],然后輸入name_list. 按下TAB鍵,ipython會(huì)提示列表能夠使用的方法,如下圖所示:
列表方法匯總:
號(hào) | 分類 | 關(guān)鍵詞/函數(shù)/方法 | 說明 |
1 | 增加 | 列表.insert(索引,數(shù)據(jù)) | 在指定位置插入數(shù)據(jù) |
列表.append(數(shù)據(jù)) | 在末尾追加數(shù)據(jù) |
列表.extend(列表2) | 將列表2的數(shù)據(jù)追加到列表 |
2 | 修改 | 列表[索引] = 數(shù)據(jù) | 修改指定索引的數(shù)據(jù) |
3 | 刪除 | del 列表[索引] | 刪除指定索引的數(shù)據(jù) |
列表.remove[數(shù)據(jù)] | 刪除第一個(gè)出現(xiàn)的指定數(shù)據(jù) |
列表.pop | 刪除末尾數(shù)據(jù) |
列表.pop(索引) | 刪除指定索引數(shù)據(jù) |
列表.clear | 清空列表 |
4 | 統(tǒng)計(jì) | len(列表) | 列表長度 |
列表.count(數(shù)據(jù)) | 數(shù)據(jù)所在列表中出現(xiàn)的次數(shù) |
5 | 排序 | 列表.sort() | 升序排序 |
列表.sort(reverse=True) | 降序排序 |
列表.reverse() | 逆序、反轉(zhuǎn) |
下面我們通過一下代碼來演示list方法
name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
# 1. 取值和取索引,索引從0開始
print(name_list[2])
# 運(yùn)行結(jié)果為:"wangwu"
# 知道數(shù)據(jù),想確定數(shù)據(jù)在表中位置,使用index方法。需要注意:如果傳遞的參數(shù)不在列表中程序會(huì)報(bào)錯(cuò)
print(name_list.index("zhangsan"))
# 運(yùn)行結(jié)果為:0
# 2. 修改
# 將“zhangsan”修改為“張三”
name_list[0] = "張三"
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "lisi", "wangwu", "zhaoliu"]
# 3. 增加
# 3.1 使用append在列表末尾添加數(shù)據(jù),注意一次只能添加一個(gè)數(shù)據(jù)
name_list.append("zhangsan")
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "lisi", "wangwu", "zhaoliu", "zhangsan"]
# 3.2 insert 在指定位置添加數(shù)據(jù)
name_list.insert(1, "小姐姐")
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "小姐姐", "lisi", "wangwu", "zhaoliu", "zhangsan"]
# 3.3 在演示extend 之前,我們先添加一個(gè)tamp_list列表
tamp_list = ["小明", "李華"]
# extend會(huì)在當(dāng)前列表末尾追加另一個(gè)列表的數(shù)據(jù)
name_list.extend(tamp_list)
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "小姐姐", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明", "李華"]
# 4. 刪除
# 4.1 remove方法可以從列表中刪除指定數(shù)據(jù)
name_list.remove("小姐姐")
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明", "李華"]
# 4.2 pop方法在默認(rèn)情況下能把列表中最后一條數(shù)據(jù)刪除
name_list.pop()
print(name_list)
# 運(yùn)行結(jié)果為:["張三", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明"]
# 4.3 pop方法可以刪除指定索引的數(shù)據(jù)
name_list.pop(0)
print(name_list)
# 運(yùn)行結(jié)果為:["lisi", "wangwu", "zhaoliu", "zhangsan", "小明"]
# 4.4 使用del刪除列表中指定數(shù)據(jù)
del name_list[0]
print(name_list)
# 運(yùn)行結(jié)果為:["wangwu", "zhaoliu", "zhangsan", "小明"]
# 注意del 關(guān)鍵字本質(zhì)上是用來將一個(gè)變量從內(nèi)存中刪除,在日常開發(fā)中,要從列表刪除數(shù)據(jù),建議使用列表提供的方法。
# 4.5 clear
name_list.clear()
print(name_list)
# 運(yùn)行結(jié)果為:[]
# 我們重新定義一個(gè)list
subject_list = ["java", "python", "php", "C++", "python人工智能", "python",]
# 5.通過len函數(shù)統(tǒng)計(jì)name_list中元素的數(shù)量
list_len = len(subject_list)
print(list_len)
# 運(yùn)行結(jié)果為:7
# 6.通過count函數(shù)統(tǒng)計(jì)元素出現(xiàn)次數(shù),注意統(tǒng)計(jì)時(shí)不會(huì)拆分元素統(tǒng)計(jì)
# 例如統(tǒng)計(jì)subject_list中“python”元素幾個(gè),答案是2個(gè),“python人工智能”不算
count = subject_list.count("python")
print(count)
# 運(yùn)行結(jié)果為:2
# 7. 列表排序
# 上面已經(jīng)有一個(gè)subject_list列表
# 未了方便演示我們再定義一個(gè)number_list列表
number = [10, 12, 3, 6, 1, 7, 18]
# 7.1 升序排序:通過.sort()方法實(shí)現(xiàn)
subject_list.sort()
number.sort()
print(subject_list)
print(number)
# 運(yùn)行結(jié)果為:
# ['C++', 'java', 'php', 'python', 'python', 'python人工智能']
# [1, 3, 6, 7, 10, 12, 18]
# 7.2 降序排序:.sort(revrse=Ture)實(shí)現(xiàn)
subject_list.sort(reverse=True)
number.sort(reverse=True)
print(subject_list)
print(number)
# 運(yùn)行結(jié)果為:
# ['python人工智能', 'python', 'python', 'php', 'java', 'C++']
# [18, 12, 10, 7, 6, 3, 1]
# 7.3 逆序排序
# 重新定義一個(gè)列表number2,用于演示逆序排序
number2 = [3, 1, 4, 1, 5, 9, 2, 6]
number2.reverse()
print(number2)
# 運(yùn)行結(jié)果為 [6, 2, 9, 5, 1, 4, 1, 3]
列表循環(huán)遍歷
遍歷就是從頭到尾依次從列表中獲取數(shù)據(jù),也就是迭代遍歷,使用for就能實(shí)現(xiàn)迭代遍歷,順序的從列表中一次回去數(shù)據(jù),每一次循環(huán)過程中,數(shù)據(jù)都會(huì)保存在my_name這個(gè)變量中,在循環(huán)體內(nèi)可以訪問到當(dāng)前這次回去到的數(shù)據(jù)。
下面我們通過實(shí)例演示,for循環(huán)遍歷:
name_list = ["張三", "李四", "王五"]
for name in name_list:
print(name)
運(yùn)行結(jié)果為:
張三
李四
王五
如果我們使用while循環(huán)遍歷怎做?我們通過實(shí)例演示:
name_list = ["張三", "李四", "王五"]
length = len(name_list)
i = 0
while i < length:
print(name_list[i])
i += 1
運(yùn)行結(jié)果為:
張三
李四
王五
list應(yīng)用場景
在開發(fā)中,列表(list)存儲(chǔ)相同類型的數(shù)據(jù),通過迭代遍歷,在循環(huán)體內(nèi)部,針對列表中的每一項(xiàng)元素,執(zhí)行相同的操作。
以上我們介紹了python list的使用方法,希望對你有所幫助,如果想系統(tǒng)學(xué)習(xí)python了解黑馬程序員python+人工智能課程。
猜你喜歡:
Python元組介紹:10分鐘掌握元組用法
python基礎(chǔ)視頻教程下載