列表和数组
数组:存储同一种数据类型的集合 scores = [34,56,90,100…]
列表(打了激素的数组):可以存储任意数据类型
列表的定义
(1)定义一个空列表
list = []
列表中的元素可以是任意类型
例如:数值类型,列表,字符串等均可
(2)列表中的元素可以为数值,列表,字符串等
list = [1,1.2,True,‘westos’,[2,3,45,5]]
print(list)
print(type(list))
列表的特性
(1)索引
列表的缩引分为正象索引和反向索引,正象索引下标从0开始;反向索引下边从-1开始,依次类推
正象索引:list[0]
反向索引:list[-1]
(2)切片
list[1:3:1]:从下标1开始,到下标3结束(不包括下标3的元素),步长为1进行对列表的切割
list[::-1]:将列表中的元素进行逆序排列(-号代表进行逆序排列)
list[1:]:打印下标从1开始到结束的列表(数字:——代表从第几个开始到结束 )
list[:2]:打印下标从0开始,到1结束的列表(:数字——后面的数字代表大几个元素)
list[:-1]:打印列表中的最后一个元素
(3)重复
list * n :将列表中的元素重复n次
(4)连接
list为一个列表,list1为一个列表,通过+号可以将两个列表中的元素整合到一起
list + list1
(5)成员操作符
元素 in list:元素在列表中
元素 not in list :元素不在列表中
(6)for循环
列表在进行for循环时会遍历列表中的所有元素
list = [1,2,‘westos’,[3,‘redhat’,‘123’]]
for i in list
i = 1 ;i = 2; i = ‘westos’; i = [3,‘redhat’,‘123’]
列表元素的增删改查
(1)列表元素的增加
- append():追加一个元素到列表
service.append(‘firewalld’)
追加到列表的最后面 - extend():拉伸 追加多个元素到列表
service.extend([‘mysql’,‘nfs’])
追加到列表的最后面 - insert():在指定索引处插入元素
service.insert(1,‘https’)
先通过索引指定位置,再增加元素
(2)列表元素的删除
- pop():弹出一个元素,并返回该元素——根据索引进行删除
默认弹出最后一个元素,可以通过pop(i)进行精确弹出,并返回该元素 - remove():删除列表元素,删除的元素不可以被使用——根据元素名称进行删除
当列表中的元素重复出现时,默认删除第一个列表元素,如果没有该元素会报错 - del;从内存中删除一个元素——根据索引进行删除
del还可以删除指定范围内的值:del a[1,4] (删除列表中索引为1-3的元素)
del还可以删除整个列表:del a
(3)列表元素的修改
列表中的元素可以被更改,因此可以使用赋值语句改变列表中任意元素的值。 - 通过索引,重新赋值:list[1] = ‘qwer’ 给索引为1的元素重新赋值为qwer
- 通过切片,重新赋值:list[:2] = [1,2,3]将下标从0到1的列表修改为[1,2,3]
(4)列表元素的查看
- 查看列表元素出现的次数:.count(‘元素’)
list.count(‘元素’) list列表中元素出现的次数 - 查看指定元素的索引值:.index(‘元素’)
list.index(‘元素’) list列表中元素的索引值;如果有重复元素,默认出现最早的元素 - 指定范围查看指定元素的索引值:.index(‘元素’,3,5)
(5)列表元素的排序
对列表元素按照ASCII码进行排序.sort()——list.sort()
(6)其他列表操作
list.append(x): 在列表的末尾添加元素x,等价于a(len(a):) = [x]。
list.extend(L): 在列表末尾加入指定列表L中所有的元素,等价于a[len(a):] = L 或 a+L: 把一个列表合并到另外一个列表里面
list.insert(i,X): 在给定的位置添加元素,也就是在位置i插入x,其余元素依次向后退。
list.remove(x): 移除列表中值为 x 的元素,如果没有x就会报错。
list.pop([i]):删除列表中指定位置i的元素,并返回该元素。若不指定索引值(list.pop),则移除并返回列表中的最后一个元素。
list.clear(): 删除列表中所有的元素,等价于:del a[:]
list.index(x):返回列表中值为x的位置索引,若不存在就会出错。
list.count(x):返回x在列表中出现的次数。
list.sort(key=None,reverse=False):对列表中的元素排序,默认为升序。
list.reverse():将列表中的元素顺序反转。
list.copy(): 返回列表的浅复制(返回的也是列表),等价于 a[:]
注意:上面的 insert(),list.remove(),sort()方法仅仅是修改列表而不返回修改的结果,即返回值为默认的值 None。
列表生成式
生成一个列表,列表元素分别为[12,22,32…n2]
方法一:用for循环
li = []
for i in range(1,10):
li.append(i ** 2)
print(li)
方法二:列表生成式
print([i ** 2 for i in range(1,10)])