列表可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且和数组不同的是,在同一个列表中元素的类型也可以不同。
(一)创建列表
列表使用"[ ]"创建。
(1)使用 = 运算符直接创建列表
a = [1,2,3,4,5,6,7,8,9,0] b = ['你好','小','二货'] c = ['百度网','http://www.baidu.com'] print(a) print(b) print(c)
结果:
[1, 2, 3, 4, 5,
6, 7, 8, 9, 0] ['你好', '小', '二货'] ['百度网', 'http://www.baidu.com']
(2)使用list()函数创建列表
代码:
a_tuple = ('我是谁?','我在哪里?','我在做什么?') print(a_tuple) #将元组转化成列表 a_list = list(a_tuple) print(a_list)
结果:
('我是谁?', '我在哪里?', '我在做什么?') ['我是谁?', '我在哪里?', '我在做什么?']
(二)列表添加元素
(1)append方法
代码:
a = ['你好','小','二货'] #追加元素 a.append('你说谁?') print(a) #追加元组,元组被当成一个元素 b = (1,2,3,4,5,6,7,8,9,0) a.append(b) print(a) #追加列表,列表被当成一个元素 a.append(['说','你','呢']) print(a)
结果:
['你好', '小', '二货', '你说谁?'] ['你好', '小', '二货', '你说谁?', (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)] ['你好', '小', '二货', '你说谁?', (1, 2, 3, 4, 5, 6, 7, 8, 9, 0), ['说', '你', '呢']]
代码:
a = ['你好','小','二货'] #追加元素 a.append('你说谁?') print(a) #追加元组,以元组为元素 #b = (1,2,3,4,5,6,7,8,9,0) a.append(('haha','你','1234','2345')) print(a) #追加元素,列表被当成一个元素 a.append(['说','你','呢']) print(a)
结果:
['你好', '小', '二货', '你说谁?'] ['你好', '小', '二货', '你说谁?', ('haha', '你', '1234', '2345')] ['你好', '小', '二货', '你说谁?', ('haha', '你', '1234', '2345'), ['说', '你', '呢']]
(2)extend方法
代码:
a = ['哈哈','123'] #追加元组中所有元素 a.extend(('A','B','C')) print(a) #追加列表中所有元素 a.extend(['D','E','F']) print(a) #追加区间中的所有元素 a.extend(range(1,10)) print(a)
结果:
['哈哈', '123', 'A', 'B', 'C'] ['哈哈', '123', 'A', 'B', 'C', 'D', 'E', 'F'] ['哈哈', '123', 'A', 'B', 'C', 'D', 'E', 'F', 1, 2, 3, 4, 5, 6, 7, 8, 9]
(3)insert方法
代码:
a = list(range(0,10)) print(a) #在索引为4的位置插入元素 a.insert(4,'你好') print(a) #在索引为4的位置插入列表 a.insert(4,['hh','pp','dd']) print(a) #在索引为4的位置插入元组 a.insert(4,('tt','tt','tt')) print(a)
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, '你好', 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, ['hh', 'pp', 'dd'], '你好', 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, ('tt', 'tt', 'tt'), ['hh', 'pp', 'dd'], '你好', 4, 5, 6, 7, 8, 9]
(三)列表删除元素
删除指定位置元素
(1)del语句
代码:
a = ['你好','小二货',1,2,3,'df','df',('aa','dd','ss'),['yy','rr','dd']] print(a) del a[-3] print(a) del a[6] print(a)
结果:
['你好', '小二货', 1, 2, 3, 'df', 'df', ('aa', 'dd', 'ss'), ['yy', 'rr', 'dd']] ['你好', '小二货', 1, 2, 3, 'df', ('aa', 'dd', 'ss'), ['yy', 'rr', 'dd']] ['你好', '小二货', 1, 2, 3, 'df', ['yy', 'rr', 'dd']]
(2)remove方法
删除指定元素
代码:
a = [('we','er','rt'),'tr','we','we',1,'we',2,3,4,('we','er','rt')] print(a) #删除第一次找到的'we' a.remove('we') print(a) #删除第一次找到的('we','er','rt')元组 a.remove(('we','er','rt')) print(a) #再次删除下一个('we','er','rt')元组 a.remove(('we','er','rt')) print(a) #再次删除('we','er','rt')元组,报错 a.remove(('we','er','rt'))
结果:
[('we', 'er', 'rt'), 'tr', 'we', 'we', 1, 'we', 2, 3, 4, ('we', 'er', 'rt')] [('we', 'er', 'rt'), 'tr', 'we', 1, 'we', 2, 3, 4, ('we', 'er', 'rt')] ['tr', 'we', 1, 'we', 2, 3, 4, ('we', 'er', 'rt')] ['tr', 'we', 1, 'we', 2, 3, 4] a.remove(('we','er','rt')) ValueError: list.remove(x): x not in list
(3)clear方法
清空列表
代码:
a = [('we','er','rt'),'tr','we','we',1,'we',2,3,4,('we','er','rt')] print(a) a.clear() print(a)
结果:
[('we', 'er', 'rt'), 'tr', 'we', 'we', 1, 'we', 2, 3, 4, ('we', 'er', 'rt')] []
(四)列表修改元素
切片就是获取列表部分元素的方法。
代码:
a =list(range(0,5)) print(a) #在列表索引1到3(不包含)处元素进行个更新 a[1:3] = ['你','好'] print(a) #将列表索引1到1(不包含)处元素进行更新,就是插入 a[1:1] = ['小','傻','瓜'] print(a) #将列表索引6到8(不包含)处更改加插入 a[6:8] = ['ha','ha','晕呀','头晕呀'] print(a)
结果:
[0, 1, 2, 3, 4] [0, '你', '好', 3, 4] [0, '小', '傻', '瓜', '你', '好', 3, 4] [0, '小', '傻', '瓜', '你', '好', 'ha', 'ha', '晕呀', '头晕呀']
(五)列表访问元素
代码:
a = [0,1,2,3,4,5,6,7,8,9] #从索引5处到索引9处(不包含) print(a[5:9]) #从索引0处到倒数第二个(不包含) print(a[0:-2])
结果:
[5, 6, 7, 8] [0, 1, 2, 3, 4, 5, 6, 7]
(六)list常用方法
(1)count()方法
求某元素出现的次数
代码:
a = ['你好','小二货',1,2,3,'df','df',('aa','dd','ss'),['yy','rr','dd'],('aa','dd','ss')] #计算列表中‘df’出现个数 print(a.count('df')) #计算列表中('aa','dd','ss')元组出现个数 print(a.count(('aa','dd','ss')))
结果:
2 2
(2)index()方法
求某元素出现的位置
代码:
a = [1,2,3,4,'我和我的','祖国','不能分割',3] #定位元素3第一次出现的位置 print(a.index(3)) #从索引1处开始定位第一个3出现的位置 print(a.index(3,1)) #从索引3处开始定位到的3的位置 print(a.index(3,3)) #从索引0到5(不包含)处定位‘我和我的’的位置 print(a.index('我和我的',0,5))
结果:
2 2 7 4
(3)pop()
移除特定元素
代码:
a = [0,1,2,3,4,5,6,7,8,9] #移除列表的栈顶元素9 print(a.pop()) print(a) #移除列表中索引一处的元素 print(a.pop(1)) print(a) #移除列表中索引一处的元素 print(a.pop(1)) print(a)
结果:
9 [0, 1, 2, 3, 4, 5, 6, 7, 8] 1 [0, 2, 3, 4, 5, 6, 7, 8] 2 [0, 3, 4, 5, 6, 7, 8]
(七)range()快速初始化list
代码:
#函数range()从2开始数,然后不断地加2,直到达到或超过终值 a = list(range(0,22,3)) print(a)
结果:
[0, 3, 6, 9, 12, 15, 18, 21]