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