[TOC]
列表由一系列按特定順序排列的元素組成.你可以創(chuàng)建包含字母表中所有字母,數(shù)字0~9或者所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素可以沒有任何關(guān)系.
*在Python中,用方括號(hào)([])來表示列表,并用逗號(hào)分隔其中的元素.
訪問列表元素
列表是有序集合,因此要訪問列表中的任何元素,只需將該元素的位置或者索引告訴Python即可.要訪問列表元素,可指出列表的名稱,在指出元素的索引,并將其放在方括號(hào)內(nèi)
>>> bicycles = ['trek','cannondale','redline','specialized']
>>> print(bicycles[0].title())
Trek
索引
在Python中,第一個(gè)列表元素的索引是0,而不是1.
Python中為訪問最后一個(gè)列表元素提供了一種特殊語(yǔ)法.通過將索引指定為-1,可讓Python返回最后一個(gè)列表元素(-2,返回倒數(shù)第二個(gè),以此類推):
>>> bicycles = ['trek','cannondale','redline','specialized']
>>> print(bicycles[-1].title())
Specialized
修改贴届、添加和刪除元素
修改列表元素
利用索引值將要修改的賦值
添加元素
1.末尾添加(append()方法)
>>> bicycles
['trek', 'cannondale', 'redline', 'specialized']
>>> bicycles.append('suzuki')
>>> bicycles
['trek', 'cannondale', 'redline', 'specialized', 'suzuki']
插入元素(insert())
使用方法insert()可在列表的任何位置添加新元素.為此,你需要指定新的索引和值.
motorcycles = ['honda','yamaba','suzuki']
motorcycles.insert(0,'ducati')
print(motorcycles)
輸出結(jié)果:
['ducati',honda','yamaba','suzuki']
刪除元素
1.使用del語(yǔ)句:知道要?jiǎng)h除的元素在列表中的位置,即索引值
motorcycles = ['honda','yamaba','suzuki']
del motorcycles[0]
print(motorcycles)
輸出結(jié)果:
[yamaba','suzuki']
2.使用pop():刪除列表末尾的元素
方法pop()可刪除列表末尾的元素,并能夠接著使用它.實(shí)際上,在括號(hào)中指定要?jiǎng)h除的元素可加上索引.
motorcycles = ['honda','yamaba','suzuki']
popped_motorcycles = motorcycles.pop()
print(motorcycles)
print(popped_motorcycles)
輸出結(jié)果:
['honda', 'yamaha']
suzuki
3.根據(jù)值刪除元素:不知道索引,知道要?jiǎng)h除元素的值,使用remove()
組織列表(排序)
1.使用sort()對(duì)列表進(jìn)行永久性排序
可以向方法傳遞參數(shù)reverse=True.列表將按字母順序相反的順序排列
cars = ['bmw','audi','toyota','subaru']
cars.sort(reverse=True)
print(cars)
2.使用函數(shù)sorted()對(duì)列表進(jìn)行臨時(shí)排序
調(diào)用函數(shù)sorted()后,列表元素排列順序并沒有真正改變.
cars = ['bmw','audi','toyota','subaru']
print(sorted(cars))
3.倒著打印列表(方法打點(diǎn)調(diào)用,函數(shù)傳參使用)
反轉(zhuǎn)列表元素的排列順序,可使用方法reverse().
4.確定列表長(zhǎng)度
使用函數(shù)len()可獲悉列表長(zhǎng)度.
避免索引錯(cuò)誤
操作列表
1.用for循環(huán)來遍歷列表
cars = ['bmw','audi','toyota','subaru']
for love_car in cars:
print(love_car)
2.避免縮進(jìn)錯(cuò)誤
Python通過使用縮進(jìn)讓代碼更易讀,根據(jù)縮進(jìn)來判斷代碼行與前一個(gè)代碼行的關(guān)系.
創(chuàng)建數(shù)值列表
1.使用函數(shù)range()
for value in range(1,5):
print(value)
*函數(shù)range()讓Python從你指定的第一個(gè)值開始數(shù),并在你指定的第二個(gè)值后停止,因此輸出并不包括第二個(gè)值.<左閉右開>
2.使用函數(shù)rnage()創(chuàng)建數(shù)字列表
numbers = list(range(1,5))
print(numbers)
使用range()還可以指定步長(zhǎng).
numbers = list(range(1,10,2))
print(numbers)
3.對(duì)數(shù)字列表進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)計(jì)算
有幾個(gè)專門用于處理數(shù)字列表的Python函數(shù).最大值,最小值和總和
min(list_name)
max(list_name)
sum(list_name)
4.列表解析
列表解析將for循環(huán)和創(chuàng)建新元素的代碼合并成一行,并自動(dòng)添加新元素.
squares = [value**2 for value in range(1,11)]
print(squares)
輸出:
[1,4,9,16,25,36,49,64,81,100]
當(dāng)你覺得編寫三四行代碼繁復(fù)時(shí),就應(yīng)考慮列表解析.
5.切片(左開右閉)
list_names[value_start,value_end]value_ start和value_end可以為空,即切片列表首尾
6.for循環(huán)遍歷切片
7.復(fù)制列表
利用切片:value_start和value_end都為空