列表定义
列表作为一种数据容器,它的目的是存储多个数据。我们把列表中的数据称为元素。
#定义一个列表
example_list = ['小明','小红','小刚']
#输出列表的数据类型
print(type(example_list))
#输出列表的内容
print(example_list)
这个例子,引出了列表的定义方式:[元素1,元素2,......,元素n]。定义列表很简单,唯一要记住的是用逗号隔开元素。
#定义空列表
#法1
empty_list = []
#法2
still_empty_list = list()
下标索引
当我们知道了列表的主要定义方式,接下来,我们就要使用列表了,列表是一种容器,所以单独对于列表,我们有以下操作:查找列表的下标,取出列表中某处的数据,修改列表某处的值,在列表中插入元素,在列表中追加元素,删除列表,清空列表,统计某元素在列表中的数量,列表中一共有多少元素。不要慌,这些都很简单。
为了完成上述功能,我们要知道如何定位列表中的某个元素,这就引出了列表的下标索引:
我们再次定义一个列表:
another_one = ['Steven','Bill','Drake','Harry']
从左到右,这个列表中的索引依次是0,1,2,3(对应Steven,Bill,Drake,Harry),没错,对于从左到右的索引,起始点是0。
如果一个列表非常长,而我们需要靠后的元素怎么办?还是从左往右数吗?当然不是,还是对应another_one这个列表,从右到左,列表的索引依次是-1,-2,-3,-4(对应Harry,Drake,Bill,Steven)。对于从右到左的情况,起始点是-1。
查找列表中某元素的索引 .index
使用方法:列表.index(你要查找的元素),下面我们来举个例子:
#创建一个列表
list_for_example = ['A','B','C']
使用index方法查询A的索引
print(list_for_example.index('A'))
对于列表进行修改
修改列表中某处的数据 list[索引] = 值
还是这个列表,接下来我们需要的语法是:列表[下标] = 值
list_for_example = ['A','B','C']
list_for_example[0] = 6
print(list_for_example)
试着运行看看,结果是否如你所想?
给列表插入数据 .insert
这个方法是:列表.insert(下标,元素),假如你要在A与B之间插入一个新的数据D
list_for_example = ['A','B','C']
list_for_example.insert(1,'D')
print(list_for_example)
自己写一下运行看看,最终列表输出结果是ADBC,也就是说,对于insert这个方法来说,下标是插入后成为新列表时元素的索引,这点需要记住。
追加元素到列表末尾 .append与.extend
第一种方法,列表.append(元素),假设我们要把end这个词加在我们的范例列表中,就应该是这样:
list_for_example = ['A','B','C']
list_for_example.append('end')
print(list_for_example)
第二种方法,是当我们要在末尾再加入一些其他数据容器时使用的,方法是:列表.extend(其他数据容器)
list_for_example = ['A','B','C']
list_second = [1,2,3]
list_for_example.extend(list_second)
print(list_for_example)
或直接把要加的列表写进去
list_for_example = ['A','B','C']
list_for_example.extend([1,2,3])
print(list_for_example)
两种方法都运行试试吧
删除列表中元素
del
del列表[下标]
list_for_example = ['A','B','C']
del list_for_example[0]
print(list_for_example)
想删除多个元素?[start :end] end不会被删除
此时输出结果就只有B,C了
.pop
删除某一元素,并且用变量接收并返回该值。
#定义列表
still_a_list = ['A','B','C','D','E']
#移除列表中的B
element = still_a_list.pop(1)
#输出列表和被移除的元素
print(still_a_list,element)
要注意的是,.pop不能像del一样删除很多元素,它只能针对某一元素进行操作,并且实际上.pop并不像删除元素,更像是取出元素,当然,它也可以进行删除元素的操作,但我们为什么要用.pop删除而不用del呢?
#定义列表
still_a_list = ['A','B','C','D','E']
#移除列表中的B
still_a_list.pop(1)
#输出列表
print(still_a_list,)
.pop()取出列表末尾值
#定义列表
still_a_list = ['A','B','C','D','E']
#取出列表中末尾值
element = still_a_list.pop()
#输出列表和取出的值
print(still_a_list,element)
.clear()
删除列表中所有元素
#定义列表
still_a_list = ['A','B','C','D','E']
#删除列表中所有元素
still_a_list.clear()
print(still_a_list)
.remove
删除列表中的第一个匹配项
假设我们有一个有重复元素的列表,我们可以用.remove删除第一个出现的该元素
#定义列表
still_a_list = ['E','A','D','A','A','B','C']
#删除列表中第一个出现的A
still_a_list.remove('A')
#输出,你会发现E和D之间的A不见了
print(still_a_list)
当然.remove也可以用于删除某一元素,但我们基本不会用它来删除的。
计数
统计列表中共有多少元素/列表的长度 len()
#定义列表
still_a_list = ['A','B','C','D','E']
#统计列表长度
length = len(still_a_list)
print(length)
统计列表中重复的元素数量 .count
#定义列表
still_a_list = ['A','A','A','B','C']
#统计列表中A有多少个
print(still_a_list.count('A'))
列表特点总结
列表种种数据容器对于数据是有序存储的,可以容纳数据类型不同的元素,元素在列表中可以重复存在,也可以被修改。