Python列表
一、列表切片
numbers=[5,1,6,9,0,3,4,2]print(numbers[0:2])print(numbers[3:6])print(numbers[:])print(numbers[2:])print(numbers[:6])print(numbers[-4:-2])[5, 1][9, 0, 3][5, 1, 6, 9, 0, 3, 4, 2][6, 9, 0, 3, 4, 2][5, 1, 6, 9, 0, 3][0,?3]
二、列表基本操作
1、修改列表
使用索引表示法給特定位置的元素賦值,不能給不存在的索引賦值
numbers=[5,1,6,9,0,3,4,2]numbers[2]=100?#將索引為2的值修改為100print(numbers)[5, 1, 100, 9, 0, 3, 4, 2]
2、刪除列表元素
numbers=[5,1,6,9,0,3,4,2]del?numbers[2]?#將索引為2的值刪除print(numbers)[5, 1, 9, 0, 3, 4, 2]
3、使用切片修改和新增列表元素
同時(shí)給多個(gè)元素賦值,還可在不替換原有元素的情況下插入新元素
numbers=[5,1,6,9,0,3,4,2]numbers[7:]=[100,200,300]print(numbers)[5, 1, 6, 9, 0, 3, 4, 100, 200, 300]numbers=[5,1,6,9,0,3,4,2]numbers[8:]=[100,200,300]print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 100, 200, 300]
三、列表方法
1、append 將一個(gè)對(duì)象附加到列表末尾
numbers=[5,1,6,9,0,3,4,2]numbers.append(100)print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 100]
2、clear?清空列表內(nèi)容
numbers=[5,1,6,9,0,3,4,2]numbers.clear()print(numbers)[]
3、copy 復(fù)制列表
常規(guī)的復(fù)制只是將另一個(gè)變量名指向了列表
numbers1=[5,1,6,9,0,3,4,2]numbers2=numbers1numbers2[0]=500print(numbers1)[500, 1, 6, 9, 0, 3, 4, 2]
要讓numbers1和numbers2指向不同的列表,必須將numbers2關(guān)聯(lián)到numbers1的副本,就用到copy
numbers1=[5,1,6,9,0,3,4,2]numbers2=numbers1.copy()numbers2[0]=500print(numbers1,numbers2)[5, 1, 6, 9, 0, 3, 4, 2] [500, 1, 6, 9, 0, 3, 4, 2]
4、count?統(tǒng)計(jì)指定元素再列表出現(xiàn)的次數(shù)
numbers1=[5,1,6,9,0,3,4,2]print(numbers1.count(numbers1[0]))print(numbers1.count(10))10
5、extend?將多個(gè)值追加到列表末尾,原列表被更改,看起來(lái)類似于列表的拼接,但有重要的區(qū)別,拼接是將修改被擴(kuò)展的列表,生成一個(gè)全新的列表,原列表不變
numbers1=[1,2,3]numbers2=[4,5,6]numbers=numbers1+numbers2print(numbers1,numbers2,numbers)[1, 2, 3] [4, 5, 6] [1, 2, 3, 4, 5, 6]numbers1=[1,2,3]numbers2=[4,5,6]numbers1.extend(numbers2)print(numbers1,numbers2)[1,?2,?3,?4,?5,?6]?[4,?5,?6]
6、index 在列表中查找指定值第一次出現(xiàn)的索引
numbers=[5,1,6,9,0,3,4,2,0]print(numbers.index(0))4
7、insert?將一個(gè)對(duì)象根據(jù)索引插入列表
numbers=[5,1,6,9,0,3,4,2,0]numbers.insert(3,100)print(numbers)[5, 1, 6, 100, 9, 0, 3, 4, 2, 0]
8、pop 從列表中刪除一個(gè)元素,并返回刪除的元素,默認(rèn)刪除最后1元素,還可根據(jù)索引刪除元素
numbers=[5,1,6,9,0,3,4,2,0]numbers.pop()print(numbers)[5, 1, 6, 9, 0, 3, 4, 2]numbers=[5,1,6,9,0,3,4,2,0]numbers.pop(0)print(numbers)[1, 6, 9, 0, 3, 4, 2, 0]
9、remove 刪除第一個(gè)指定值的元素
numbers=[5,1,6,9,0,3,4,2,0]numbers.remove(0)print(numbers)[5, 1, 6, 9, 3, 4, 2, 0]
10、reverse 翻轉(zhuǎn)列表,按相反順序排列列表數(shù)據(jù);如果不想改變?cè)斜恚瑢?duì)原列表的副本進(jìn)行翻轉(zhuǎn)用reversed(列表),返回的是一個(gè)迭代器,需要用list將對(duì)象轉(zhuǎn)換為列表
numbers=[5,1,6,9,0,3,4,2,0]numbers.reverse()print(numbers)[0, 2, 4, 3, 0, 9, 6, 1, 5]______________________________________numbers=[5,1,6,9,0,3,4,2,0]print(reversed(numbers))print(numbers)[5, 1, 6, 9, 0, 3, 4, 2, 0]numbers=[5,1,6,9,0,3,4,2,0]print(list(reversed(numbers)))print(numbers)[0, 2, 4, 3, 0, 9, 6, 1, 5][5, 1, 6, 9, 0, 3, 4, 2, 0]
11、sort 列表升序排列,降序排列需要加上(reverse=True),改變了原列表;如果不想改變?cè)斜恚瑢?duì)原列表的副本進(jìn)行升序排列用sorted(列表)
numbers=[5,1,6,9,0,3,4,2,0]numbers.sort()?#升序print(numbers)[0, 0, 1, 2, 3, 4, 5, 6, 9]numbers=[5,1,6,9,0,3,4,2,0]numbers.sort(reverse=True) #降序print(numbers)[9, 6, 5, 4, 3, 2, 1, 0, 0]numbers=[5,1,6,9,0,3,4,2,0]print(sorted(numbers))print(numbers)[0, 0, 1, 2, 3, 4, 5, 6, 9][5, 1, 6, 9, 0, 3, 4, 2, 0]
