目录
我们在日常生活中经常会遇到清单,比如点菜的清单叫菜单,购物的清单叫购物单,客户的清单叫顾客单等等。在Python中也有这样的清单,我们称其为列表。列表在我们编程中用处非常广泛,本文我将详细展开介绍。
列表中的元素放置在“[]”中,两个相邻的元素之间使用“,”隔开。同一个列表中的元素可以为任何类型的数据,如数值/字符串/列表等。
ListName=[元素a , 元素b , ......]
一般我们用如下几种创建方式去操作:
- list1=[10,20,30,40] #数字列表
- list2=['a','b','c','d'] #字符列表
- list3=['python',3.14,5,'春哥',[10,20]] #混合列表
- list4=[] #空列表
-
- print(list1);
- print(list2);
- print(list3);
- print(list4);
使用del语句可以删除列表。
del ListName
- team=['阿森纳','曼城','曼联','热刺'];
- print(team);
- del team; #删除列表
- print(team); #报错,无列表输出
TIPS:
虽然列表中的元素可以是数值/字符串/列表等不同的数据类型,但是为了保证程序的可读性,列表中一般只放同一种数据类型。
列表中每个元素都有自己对应的序号,代表着元素在列表中的位置,这就是列表的索引。
索引的序号从0开始。其中,0代表的一个元素,1代表第二个元素,2代表第三个元素,以此类推。
例如 , list=['a','b','c','d','e']如下所示。
列表元素 | a | b | c | d | e |
索引序号 | 0 | 1 | 2 | 3 | 4 |
列表还支持使用负数作为索引,索引的序号从-1开始。其中,-1表示最后一个元素,-2表示倒数第二个元素,-3表示倒数第三个元素,以此类推。
例如 , list=['a','b','c','d','e']如下所示。
列表元素 | a | b | c | d | e |
索引序号 | -5 | -4 | -3 | -2 | -1 |
使用列表的索引,可以访问列表的元素。
ListName[索引]
根据不同的索引序列号访问列表。
- list1=['a','b','c','d','e','f','g'];
- print(list1[0]);
- print(list1[1]);
- print(list1[-1]);
- print(list1[-2]);
方法 | 描述 |
append() | 在列表末尾追加单个元素 |
extend() | 在列表末尾追加一个新列表的内容 |
insert() | 在列表指定索引位置插入一个新元素 |
ListName.append(新元素)
ListName.extend(新列表)
ListName.insert(索引,新元素)
假设存在列表grade = ['A','B','D'],从而进入如下例子
- grade=['A','B','D'];
- grade.append('E');
- print(grade);
- grade=['A','B','D'];
- grade1=['E','F']
- grade.extend(grade1);
- print(grade);
- grade=['A','B','D'];
- grade.insert(2,'C');
- print(grade);
方法 | 描述 |
del | 删除列表中指定索引位置的数据 |
remove() | 移除列表中某个值的第一个匹配项 |
pop() | 移除列表中指定索引位置的元素后返回该元素的值 |
clear() | 清空列表中的所有元素 |
del ListName[索引]
ListName.remove(元素)
ListName.pop(索引)
ListName.clear()
- list = ['a','b','c','d','e'];
- del list[1];
- print(list);
- list = ['a','b','c','d','a','b','c'];
- list.remove('b');
- print(list);
- list = ['a','b','c','d','c','d'];
- print(list.pop(2)); #移除索引号为2的元素
- print(list.pop()); #若无参数,则移除的是列表中最后一个元素
- print(list);
- list = ['a','b','c','d','c','d'];
- list.clear() #清空列表中所有元素
- print(list);
TIPS:
(1)使用remove()方法时,移除的是列表中某个值的第一个匹配项,并非所有匹配项。
(2)remove()方法和pop()方法都可以移除列表中某项元素,pop()方法有返回值,remove()方法则没有。
- list = ['西瓜','苹果','香蕉','芒果','桃子','葡萄'];
- print(list[1],list[-1]);
这个案列涉及列表的索引与访问。列表从左边计起索引号从0开始,从右边计起索引号从-1开始。所以索引号1位苹果,-1位为葡萄。
- list = ['Oracle','Microsoft','Google','Facebook','TAOBAO'];
- list.append('Baidu');
- list.insert(1,'RedHat')
- print(list);
这个案例涉及列表元素的添加。append()用于将Baidu添加到列表最后项。insert()这段代码将RedHat插入到列表索引位置为1的地方,即插入在Oracle和Microsoft之间。
- list = [1,2,3,4];
- print(list.remove(3),list.pop(2));
remove()掉索引号为3的元素后,列表为[1,2,4],但是remove不会有返回值,所以print的结果为None。pop(2)在列表[1,2,4]上删除索引位为2的元素,即4这个元素,并有返回这个元素的值,最终print出来是4。综上所述,print出来两个结果为None和4。