1.列表數(shù)據(jù)類型
列表值代表列表本身,而不是列表內(nèi)包含的值篡撵。
列表格式用[]括起來
列表中的值被稱為表項瀑粥,用逗號分隔
1)用下標取得列表中的某個值
? ? ?下標從0開始
2)負數(shù)下標?
? ? ? Python也可以用負數(shù)下標來表示
? ? ? 表示方法——-1表示列表中最后一個值,-2表示列表中倒數(shù)第二個值稼钩,以此類推
3)利用切片取得子列表
? ? ? 切片可以從列表中取得多個值
? ? ? 切片輸入格式:[2:5]
? ? ? []里面的數(shù)字下標同完整列表中的下標一致
? ? ? 切片省略:[:5]? 默認省略的為0
? ? ? ? ? ? ? ? ? ? [0:]? 默認省略的是列表長度
4)使用len()得到列表長度
5)使用下標改變列表中的某一個值
6)+可以連接2個列表篱瞎,得到一個新列表
? ? ? ?*可以作用于一個列表和一個整數(shù)苟呐,實現(xiàn)列表的復制
7)del語句可以刪除列表下標處的值,表中被刪除值后的值向前移動一位
? ? ? ?del s[0]
? ? ? ?del也可用于刪除一個簡單變量 俐筋,刪除變量后牵素,變量不可再被引用
? ? ? ? del s
2.使用列表
1)列表用于循環(huán)
有兩種循環(huán)方式(s為列表名):for i in range(len(s)):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print(s[i])
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?for i in s:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print(i)
2)in 和 not in操作符
利用in 和 not in可以確定一個值是否在列表中
連接2個值:待查詢的值和列表值
3)多重賦值技巧
變量的數(shù)量和列表的長度必須相等
如:s=['fat','black','hello']
size,color,a=size
3.增強的賦值操作
a+=1? ? ? a=a+1
a-=1? ? ? a=a-1
a*=1? ? ? a=a*1
a/=1? ? ? a=a/1
a%=1? ? ? a=a%1
+=也可以用于列表連接
*=也可以用于列表復制
4.方法
方法和函數(shù)類似,只是方法是作用在一個值上澄者。
每種數(shù)據(jù)類型都有一組自己的方法笆呆。
例如请琳,列表有一些方法,用來增赠幕、刪俄精、改、查列表中的值
1)index()方法查找列表中值的位置
? ? ? index()方法榕堰,通過傳入一個值竖慧,如果值在列表中,則返回值的下標逆屡。否則圾旨,報ValueError
? ? ? 如果列表中出現(xiàn)重復的值,則返回它第一次出現(xiàn)的下標
2)append()和insert()在列表中添加值
? ? ? append()方法在列表尾部添加康二,只有一個參數(shù)? ? append('mouse')
? ? ? ?insert()方法可以在列表任意位置插入碳胳,有2個參數(shù),第一個是插入位置沫勿,第二個是插入?yún)?shù)? insert(1,'mouse')
? ? ? ?方法屬于單個數(shù)據(jù)類型,append()和insert()方法是list方法味混,只能在list上用
3)remove()方法從列表中刪除值
? ? ? 給remove()方法傳入一個值产雹,這個值將被從列表中刪除
? ? ? 試圖刪除列表中不存在的值,將導致ValueError 錯誤
? ? ? 如果該值在列表中出現(xiàn)多次翁锡,只有第一次出現(xiàn)的值會被刪除
? ? ? del()方法也可用于刪除蔓挖,刪除一個或連續(xù)幾個元素
? ? ? ?del a[0]? ? ? 刪除單個元素
? ? ? ? del a[0:2]? ? 刪除連續(xù)元素
? ? ? ? ?del a? ? ? ? 刪除整個列表
4)使用sort()方法將列表中的值排序
? ? ? 數(shù)值的列表或字符串的列表,能用sort()方法排序
? ? ? 也可以指定reverse 關(guān)鍵字參數(shù)為True馆衔,讓sort()按逆序排序 a.sort(revers=True)
注:1.sort()方法當場排序瘟判,不能a=a.sort()
? ? ? ? 2.不能對既有數(shù)字又有字母的列表排序
? ? ? ? 3.sort()方法對字符串排序時,使用“ASCII 字符順序”角溃,而不是實際的字典順序拷获。這意味著大寫字母排在小寫字母之前
? ? ? ?4.如果需要按照普通的字典順序來排序,就在sort()方法調(diào)用時减细,將關(guān)鍵字參數(shù)key 設(shè)置為str.lower匆瓜。(原因:將所有表項都當成小寫)
5.字符串和元組
字符串可以看做個字符的列表
按下標取值、切片未蝌、用于for 循環(huán)驮吱、用于len(),以及用于in和not in 操作符 也可以作用于字符串
1)可變和不可變數(shù)據(jù)類型
? ? ? 列表是可變的數(shù)據(jù)類型萧吠,它的值可以刪除左冬、修改和添加
? ? ?而字符串是不可變的
2)元組數(shù)據(jù)類型
? ? ?元組與列表的區(qū)別:1.使用()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.不可變
? ? 如果元組中只有一個值,你可以在括號內(nèi)該值的后面跟上一個逗號纸型,表明是元組
3)list()和tuple()?
? ? ? list()將原來的數(shù)據(jù)類型轉(zhuǎn)換成list
? ? ? tuple()將原來的數(shù)據(jù)類型轉(zhuǎn)換成元組
6.引用
將一個列表賦值給一個變量時拇砰,實際上是將列表的引用賦給了變量九昧。列表引用指向列表的值
變量保存可變數(shù)據(jù)類型(列表、字典)使用引用
變量保存不可變數(shù)據(jù)類型(字符串毕匀、整型等)铸鹰,保存值本身
調(diào)用函數(shù)時,對于列表和字典傳遞的是引用
7.copy模塊的copy函數(shù)和deepcopy函數(shù)
如果需要對一個變量中的列表進行修改皂岔,同時又不希望影響到原來的列表
import copy
copy.copy()---------復制列表或字典的值
copy.deepcopy()-----復制的列表中含有列表