七、入门python第七课
列表
1. 掌握列表的定義和特點
2. 熟悉列表的相關操作
3. 掌握列表的遍歷
4. 掌握列表的嵌套
? ? ? ? 前面我們已經(jīng)學到了變量和字符串等用來存儲數(shù)據(jù)知識,那么我們?yōu)槭裁催€要學習這一種變量類型?試想一下,當我們要把一個班的同學都放到計算機里面,假設一班有30個同學,那么我們就需要實例化30個變量,這顯然是很麻煩的,那么我們有沒有一種方法可以一次性存儲多個變量呢?這時候列表就可以很好的解決我們的問題。
列表的格式
????????列表· 名??= [數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3]
namesList = ['xiaoWang','xiaoZhang','xiaoHua']python列表比C語?的數(shù)組強?的地?在于列表中的元素可以是不同類型的數(shù)據(jù)
打印列表
? ? ? ? 打印列表和我們前面學到的打印字符串指定內(nèi)容一樣。
? ?語法:? ? ? ? ? ? ? ?? ?print(? 列表名【下標】)
namesList = ['xiaoWang','xiaoZhang','xiaoHua']print(namesList[0])print(namesList[1])print(namesList[2])列表的相關操作
列表中存放的數(shù)據(jù)是可以進?修改的,?如"增"、"刪"、"改"、"查"
1.下標
和字符串?樣,列表也可以通過下標(索引)訪問元素,下標也是從0開始
name_list = ['Tom', 'Lily', 'Rose'] print(name_list[0]) # Tom print(name_list[1]) # Lily print(name_list[2]) # Rose2.查找函數(shù)
index():返回指定數(shù)據(jù)所在位置的下標 。
語法:
????????列表序列.index(數(shù)據(jù), 開始位置下標, 結束位置下標)
name_list = ['Tom', 'Lily', 'Rose'] print(name_list.index('Lily', 0, 2)) # 1注意:index()查找函數(shù)與字符串中的index()查找函數(shù)一樣,如果查找不到指定目標報錯
count():返回統(tǒng)計指定數(shù)據(jù)在當前列表中出現(xiàn)的次數(shù)。
name_list = ['Tom', 'Lily', 'Rose'] print(name_list.count('Lily')) # 1len():返回訪問列表?度,即列表中數(shù)據(jù)的個數(shù)。
name_list = ['Tom', 'Lily', 'Rose'] print(len(name_list)) # 33.判斷是否存在
in:判斷指定數(shù)據(jù)在某個列表序列,如果在返回True,否則返回False
name_list = ['Tom', 'Lily', 'Rose'] # 結果:True print('Lily' in name_list) # 結果:False print('Lilys' in name_list)not in:判斷指定數(shù)據(jù)不在某個列表序列,如果不在返回True,否則 返回False
name_list = ['Tom', 'Lily', 'Rose'] # 結果:False print('Lily' not in name_list) # 結果:True print('Lilys' not in name_list)4.添加元素("增"append, extend, insert)
append()
append()在列表的末尾添加,如果append()追加的數(shù)據(jù)是?個序列,則追加整個序列到列表
#定義變量A,默認有3個元素 A = ['xiaoWang','xiaoZhang','xiaoHua'] print("-----添加之前,列表A的數(shù)據(jù)-----") for tempName in A:print(tempName)#提示、并添加元素 temp = input('請輸?要添加的學?姓名:') A.append(temp) print("-----添加之后,列表A的數(shù)據(jù)-----") for tempName in A:print(tempName) name_list = ['Tom', 'Lily', 'Rose'] name_list.append(['xiaoming', 'xiaohong']) # 結果:['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']] print(name_list)extend()
通過extend可以將另?個集合中的元素逐?添加到列表中
?insert()
在指定位置插入指定內(nèi)容/
語法:
????????insert(插入的下標, 插入的內(nèi)容)
?5、刪除元素("刪"del, pop, remove)
????????在現(xiàn)實生活中,也常有同學掉班和轉(zhuǎn)學的情況,那么刪除列表的元素也是經(jīng)常的操作。我們應該如何完成刪除操作?
列表元素的常?刪除?法有:
????????del:根據(jù)下標進?刪除
????????pop:刪除最后?個元素
????????remove:根據(jù)元素的值進?刪除
del????????根據(jù)下標進?刪除
語法:
del 目標【下標】
movieName = ['加勒?海盜','駭客帝國','第?滴?','指環(huán)王','霍比特人'] print('------刪除之前------') for tempName in movieName:print(tempName) del movieName[2] #刪除指定數(shù)據(jù) # del movieName #刪除列表 print('------刪除之后------') for tempName in movieName:print(tempName)?pop????????刪除最后?個元素
語法:
目標.pop()
movieName = ['加勒?海盜','駭客帝國','第?滴?','指環(huán)王','霍比特人'] print('------刪除之前------') for tempName in movieName:print(tempName) movieName.pop() # pop刪除列表 print('------刪除之后------') for tempName in movieName:print(tempName)?remove????????根據(jù)元素的值進?刪除
語法:
目標.remove(要刪除的數(shù)據(jù))
movieName = ['加勒?海盜','駭客帝國','第?滴?','指環(huán)王','霍比特人'] print('------刪除之前------') for tempName in movieName:print(tempName) movieName.remove('駭客帝國') # pop刪除列表 print('------刪除之后------') for tempName in movieName:print(tempName)特殊:clear,清空列表
語法:
目標.clear()
movieName = ['加勒?海盜','駭客帝國','第?滴?','指環(huán)王','霍比特人'] print('------刪除之前------') print(movieName) movieName.clear() print('------刪除之后------') print(movieName)?6、列表修改數(shù)據(jù)(sort, reverse)
1.修改指定下標數(shù)據(jù)
修改指定下標的數(shù)據(jù)其實就是對指定下標的數(shù)據(jù)重新賦值。
name_list = ['Tom', 'Lily', 'Rose'] name_list[0] = 'aaa' # 結果:['aaa', 'Lily', 'Rose'] print(name_list)2、逆序
將列表的內(nèi)容順序按相反排列(降序變正序,正序變逆序)
?語法:
? ? ? ? 目標列表.reverse()
num_list = [1, 5, 2, 3, 6, 8] num_list.reverse() # 結果:[8, 6, 3, 2, 5, 1] print(num_list)3.排序
????????sort?法是將list按特定順序重新排列,默認為由?到?,參數(shù) reverse=True可改為倒序,由?到?。
語法:
????????列表序列.sort( key=None, reverse=False)
注意:reverse表示排序規(guī)則,reverse = True 降序, reverse = False 升序(默認)
num_list = [1, 5, 2, 3, 6, 8] num_list.sort() # 結果:[1, 2, 3, 5, 6, 8] print(num_list)7、復制
copy()
簡單來說就是一個變量的數(shù)據(jù)復制一份給另一個變量(和普通的賦值相比,復制的數(shù)據(jù)是獨立的,有獨立的IP)
語法:
? ? ? ? 復制給的變量 = 要復制的變量.copy()
movieName = ['加勒?海盜','駭客帝國','第?滴?','指環(huán)王','霍比特人'] asd = movieName.copy() print(movieName) print(asd) print(id(movieName)) print(id(asd))?8.列表的遍歷
1.while遍歷
name_list = ['Tom', 'Lily', 'Rose'] i = 0 while i < len(name_list):print(name_list[i])i += 12.for遍歷
namesList = ['xiaoWang','xiaoZhang','xiaoHua'] for name in namesList:print(name)9、列表的嵌套
所謂列表嵌套指的就是?個列表??包含了其他的?列表。
name_list = [['?明', '?紅', '?綠'], ['Tom', 'Lily', 'Rose']] #查找列表的第一個下標數(shù)據(jù)內(nèi)容 print(name_list[0]) #查找第二個列表的第一個子數(shù)據(jù) print(name_list[1][0])總結
以上是生活随笔為你收集整理的七、入门python第七课的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构与算法之排序算法
- 下一篇: Excel问题:excel表格的状态栏,