列表作為一個有序可變可迭代的數(shù)據(jù)類型,在python中用法非常廣。
定義一個列表:
list = [1,2,3,4,5,6]
列表的一些操作
1.獲取列表的元素及遍歷列表
列表中的元素可以通過索引來進行獲取,列表的元素的索引從0開始到列表長度減1結(jié)束。
list1 =[1,2,3,4,5,6]
print(list1[2])
for item in list1:
print(item)

2.列表的拼接
列表和字符串一樣可以通過+號來連接兩個列表
list1 = [1,2,3]
list2 = [4,5,6]
print(list1+list2)

3.列表切片
任何有序且可迭代的數(shù)據(jù)都可以通過切片來進行操作,列表的切片和字符串一樣
list1 = [1,3,4,5,7,8,2]
print(list1[-1])
print(list1[::2])
print(list1[::-1])
print(list1[6::-2])

4.len()、max()、min()、list()
len()方法:這是python中的一個內(nèi)置方法 ,可以獲取容器類型數(shù)據(jù)的大小
max()方法:獲取容器內(nèi)最大值
min()方法:獲取容器內(nèi)最小值
list()方法:將其他類型轉(zhuǎn)化為list
list1 = [1,2,3,4]
s = '1234'
print(len(list1))
print(max(list1))
print(min(list1))
print(list(s))

列表的一些內(nèi)置方法
1.list.append()
該方法的作用是向列表添加元素,添加到列表元素的最后
a = []
b = [1,2,3]
a.append('a')
a.append('b')
print(a)
a.extend(b)
print(a)

注意:python中還可以使用extend()方法對列表進行添加,但extend()方法只能接受一個列表作為參數(shù)
2.list.count()
該方法的作用是統(tǒng)計一個元素在列表出現(xiàn)的次數(shù)
a = [1,2,3,4,41,1,24,3]
print(a.count(3),a.count(1))

3.list.index()
該方法的作用是:找出某個值第一個匹配項的索引位置。
a = [1,2,3,4,41,1,24,3]
print(a.index(1),a.index(3))

4.list.insert()
該方法的作用:將指定對象插入列表的指定位置。
語法:list.insert(index,value)
a = [1,2,3,4]
a.insert(2,5)
print(a)

5.list.pop()
該方法的作用:移除列表最后一個元素,并且移除的元素不會刪除,仍然可以使用。
語法:list.pop([index])
不指定index參數(shù)時,pop()默認移除列表最后一位
a = [1,2,3,4]
c = a.pop()
print(a,c)
b = a.pop(1)
print(a,b)

注意:移除不是刪除,移除只是將元素移除列表。不會刪除這個元素
6.list.remove(obj)
該方法的功能:移除列表中某個值的第一個匹配項。
語法:list.remove(seq)
a = [1,2,3,4]
a.remove(2)
print(a)

注意:雖然次方法也是移除,但是和pop()方法不同的在于,此方法沒有返回值,移除的元素不能直接得到。
7.list.reverse()
該方法的作用:反向列表中的元素
語法:list.reverse()
a = [1,2,3,4]
a.reverse()
print(a)

7.list.sort()
該方法的作用:列表排序
語法:list.sort(cmp=None, key=None, reverse=False)cmp -- 可選參數(shù), 如果指定了該參數(shù)會使用該參數(shù)的方法進行排序。
key -- 主要是用來進行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。
reverse -- 排序規(guī)則,reverse = True 降序, reverse = False 升序(默認)
a = ['v','a','j','b','y']
b = [2,5,1,6,8,3]
a.sort()
b.sort()
print(a)
print(b)

注意:sort()方法不能排同時包含有字符串和數(shù)字的列表,會報錯
8.list.clear()
該方法作用:清空列表,類似于 del list[:]。
語法:list.clear()
a = [2,4,46,7,1,14,11,3]
a.clear()
print(a)

9.list.copy()
方法作用:復(fù)制列表,類似于 a[:]
語法:list.copy()
a = [2,4,46,7]
b = a.copy()
print(a)
print(b)

注意:copy()和=雖然結(jié)果都一樣,但在存儲上有很大的差別,這里舉例說明。
list1 = list2 和 list1 = list2.copy()的區(qū)別
a = [2,4,46,7]
b = a
print(a)
print(b)

a = [2,4,46,7]
b = a.copy()
print(a)
print(b)

ps:區(qū)別在于使用=賦值的時候,列表a與列表b指向的都是同一個堆內(nèi)存地址,如果修改列表a,列表b也會修改。copy()拷貝雖然列表a與列表b的元素都一樣,但指向的是不同的堆內(nèi)存地址,修改不會影響另一個列表。