列表类型
列表是Python的基本数据类型之一,用的最多的也是列表类型,因为列表中可以装任意的数据类型,有人说列表不就是数组吗,这种说话是错误的,数组的概念在C语言和JAVA里面有,主要是会定义一定长度的数组,并且数组中每个数据项的数据类型也是固定的,必须预先声明吗,例如在C语言中定义一个数组如下:
#C语言
int arr[5]
以上定义了一个数组长度为5且每个数据项的类型是整型(int),在Python是没有声明这一说的,直接使用即可。而Python中的列表和数组不一样,列表中的数据项的数据类型是任意的,并且列表的长度也是任意的。所以由于Python中的列表拥有这种特性,在编程的过程中应用十分广泛,因此十分重要。
- 列表的创建
a = [数据项1,数据项2,数据项3,.........]
其中数据项的数据类型可以是任意类型,比如是字符串类型或者数字类型,也可以是列表类型等,只要是Python中的基本数据类型就可以
a = [1,"hello",[1,2]]
创建过程十分的简单,直接使用中括号,然后数据项与数据项之间用逗号隔开即可
- 列表的访问
之前我们学过字符串,我们提到序列类型,所谓序列就是有顺序的,我们可以通过下标,也就是索引去取值,包括切片操作都是一模一样的,包括在后面介绍的元组也是序列类型,其索引和切片的方式一模一样
#列表的访问
a = [1,2,3,4,"hello"]
print(a[2]) ----> 3
#列表的切片
print(a[1:3]) ---> [2,3] #注意切片之后仍然是列表
- 列表的方法
前面我们介绍了很多的字符串方法,这些方法的使用语法是字符串.方法名,列表的方法的使用语法也是这样的,列表.方法名
1.append(数据x) 将某个数据x添加到列表a的尾部
a = [1,2,3,4]
a.append(5)
print(a) ----> [1,2,3,4,5]
2.extend(列表x) 将列表中的所有元素添加到a的尾部
a = [1,2,3]
b = [4,5]
a.extend(b)
print(a) ----> [1,2,3,4,5]
3.insert(位置参数,数据项) 将数据项插入到指定位置,这里的位置参数就是索引值
a = [1,2,3,4]
a.insert(1,"hello")
print(a) -----> [1,"hello",2,3,4]
4.count(数据x) 计算数据x在列表中出现的次数
a = [1,3,2,3]
print(a.count(3)) ----> 2
5.index(数据x) 得到数据x在列表中的索引位置
a = [1,2,"hello","world"]
print(a.index("hello")) -----> 2
6.pop(位置参数) 删除列表中指定索引位置的值,如果没有加参数就默认删除列表最后一个数据,并且pop方法可以返回它删除的那个值
a = [1,2,2,3]
print(a.pop()) -----> 3
print(1) ------> [1,2,2]
a = [1,2,3,4,5]
print(a.pop(3)) 删除索引位置为3的数 就是4 所以此处打印 ---> 4
print(a) ------> [1,2,3,5]
7.remove(数据x) 移除列表中第一次出现的数据x
a = [1,3,2,3,4]
a.remove(3)
print(a) ----> [1,2,3,4]
8.clear() 清空列表中的所有元素
a = [1,2,3,4]
a.clear()
print(a) ----> []
9.reverse() 翻转列表
a = [1,2,3,4]
a.reverse()
print(a) -----> [4,3,2,1]
10.sort() 将列表中的数据依次从小到大排序,值得注意的是此时列表中的数据项的数据类型是一致的
a = [1,3,19,2,8]
a.sort()
print(a) ----> [1,2,3,8,19]
a = [1,12,3,"a"]
a.sort()
上述是会报错误的,因为"a"是字符串类型,与其他几个数据的类型不一样
以上的方法是列表中经常用的方法,列表是可变的数据类型,上述的方法对它的操作可以直接对原列表进行修改。后面的文章还会继续用到列表的知识,还有些补充的我们放在后面,包括列表推导式等。