列表
概述
类型名称:list,定界符:方括号【】,可变有序。
在Python中,一个列表中的数据类型可以各不相同,可以同时分别整数,实数,字符串等基本类型,甚至是列表,元组,字典,集合以及其他自定义类型对象。
列表创建:
- 使用“=”直接将一个列表赋值给变量。
>>>alist = []
- 使用list(),函数,将元组,range对象,字符串等可迭代的对象类型转换为列表。
>>>alist=list((1,2,3,4,5)) #元组
'''>>>alist
[1,2,3,4,5]'''
>>>alist=list(range(1,10,2)) #range对象
'''>>>alist
[1,3,5,7,9]'''
>>>list('hello') #字符串
['h','e','l','l','o']
>>>alist=list() #list()函数
'''>>>alist
[]'''
列表删除
- 使用del命令删除整个列表。
<<<del alist
- 使用del命令删除指定位置上的元素。
>>>alist=[1,2,3,4,5]
>>>del alist[1]
[1,3,4,5]
- 使用del与切片结合删除元素
>>>alist=[1,2,3,4,5]
>>>del alist[:3] #删除前3个元素
[4,5]
- 使用pop(obj),方法,删除并返回指定位置上的元素(默认为最后一个元素),给定索引超出列表范围则抛出异常。
>>>alist=[1,2,3,4,5]
>alist.pop()
[5]
>>>alist=[1,2,3,4,5]
>>>alist.pop(1)
[2]
- 使用remove(obj),删除首次出现的指定元素。删除列表中不存在的元素,则抛出异常。没有返回值
>>>alist=[1,3,2,3,4]
>>>alist.remove(3)
[1,2,3,4]
>>>alist=[1,2,1,2,1,1,1] #切片 删除1 (后面详细说)
>>>for i in alist[::]:
if i == 1:
alist.remove(i)
>>>alist=[1,2,1,2,1,1,1] #从后往前删
>>>for i in range(len(x)-1,-1,-1):
if alist[i]==1:
del alist[i]
元素添加
- 使用”+“运算符添加元素(创建了一个新的列表)速度慢
>>>alist=[1,3]
>>>alist=alist+[5] #中括号里是单个元素值
[1,3,5]
- 使用“+=” 运算符添加元素
>>>alist=[]
>>>alist += '1234'
['1','2','3','4']
>>>alist += range(3)
['1','2','3','4',0,1,2]
- 使用append(object)[对象]方法,在列表尾部追加元素,原地修改列表,没有返回值。速度较快
将参数视为element,作为一个整体添加
>>>alist=[1,3]
>>>alist.append(5)
[1,3,5]
>>>alist=[1,2,3] #对比extend()
>>>alist.append(['A','B'])
[1,2,3 ['A','B']]
- 使用extend(sequence)[元素列表]方法,在列表尾部添加一个迭代对象所有元素,原地修改列表,没有返回值。
将参数视为list,作为序列合并,List里可以有任何数据类型。
>>>alist=[1,2,3]
>>>alist.extend([7,8])
[1,2,3,7,8]
>>>alist=[1,2,3]
>>>alist.extend((7,8))
[1,2,3,7,8]
>>>alist=[1,2,3] #对比append()
>>>alist.extend(['A','B'])
[1,2,3,'A','B']
- 使用insert(index,obj)[索引位置,对象]方法,添加元素到指定位置。没有返回值 速度慢
>>>alist=[1,2,3]
>>>alist.insert(2,6)
[1,2,6,3]
- 使用乘法,扩展列表改变列表位置。列表复制原理,当修改其中一个值是,相应的引用也会被修改。
>>>alist=[1,2,3]
>>>alist=alist*3