一、列表的创建
列表:Python中最基本也是最常用的基本数据结构之一,列表中的每一个元素被分配一个数字作为索引(即下标),用来表示该元素该元素在列表内所排的位置,第一个元素索引是0,第二个索引是1,以此类推。
列表是一个有序可重复的集合。
创建列表:
方式一:用函数方式
l = list(iterable)
可按CTRL键并将鼠标光标直到函数上查看该函数的Python官方说明。
可迭代:可以用for循环即可迭代
参数中传入可迭代的类型如字符串、列表、元祖、字典、集合等
方式二:用方括号
l = [1,2,3,4,5]
print(l)
二、列表的取值&修改&删除
1.访问列表内的元素
列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某一个元素,以方括号加下标值的方式即可。
※注意要确保索引不越界,一旦访问的索引超过范围,会抛出异常,一定要记得最后一个元素的索引是len(list)-1.
※并且索引必须为整型,其他类型会报错。
如
num = lst[1]
print(num)
会打印出2
2.修改元素的值。
lst[1] = 'hello'
print(lst)
※不能赋值给列表中不存在的索引
打印
[1, 'hello', 3, 4, 5]
3.删除值
方式一:用del
del lst[0]
方式二:根据值进行删除
lst.remove(3)
删除值为3的这个元素
方式三:根据索引删除
value = lst.pop()
print(value)
该方法有返回值,为删除的元素的值;
可以传参数,如无参数默认弹出最后一个元素,有删除则弹出指定索引的元素。
如传参数为:
value = lst.pop(2)
print(value)
即删除第三个元素。
三、列表的特殊操作
1.列表组合
直接将两个列表相加,是列表的拼接,不是对应位置相加,
l1 = [1,2,3]
l2 = [4,5,6]
l3 = l1 + l2
print(l3)
打印:
[1, 2, 3, 4, 5, 6]
也可用l3 = l1.__add__(l2)
,此为魔法方法,为面向对象的方法。
2.列表的乘法
l4 = l1 * 3
相当于
l4 = l1.__mul__(3)
是将l1重复三次,成为一个列表
两个列表不能直接相乘,否则会报错。
3.判断元素是否在列表内部
用关键词in:
print(2 in l1)
4.迭代列表中的每个元素
for i in l1:
print(i)
四、列表常用方法和排序
1.列表长度
l1 = [1,2,3]
print(len(l1))
相当于
print(l1.__len__())
2.最大值与最小值
l1 = [1,2,3]
print(max(l1),min(l1))
3.类型转换
lst = list('str')
属于强制类型转换
print(type(lst))
※type()函数可以查看变量的类型
4.列表排序
(1)反转
lst = [1,3,2,4]
lis.reverse()
print(lst)
打印出
[4, 2, 3, 1]
很显然,reverse函数对列表进行了改变,不再是原来的列表
in place:修改对象本身
(2)排序
lst.sort()
为默认升序
lst.sort(reverse=True)
为降序
排序只能对元素为同种类型的值进行排序,不能对不同类型的值进行排序,要么全为数值型,要么均为字符串。
5.切片
切片即为对序列进行截取,选取序列中的某一段。
语法为:
list[start : end : step]
step为步长,区间为左闭右开
lis = ['a','b','c','d','e']
print(lis[1:3])
打印
['b', 'c']
※省略end取到末尾,省略start从头开始到当前,省略所有复制列表。
※步长为负数时反方向取,即从尾到头取。
6.列表的内置方法
(1)append()
添加一个元素到末尾
lis = ['a','b','c','d','e']
lis.append('e')
print(lis)
打印
['a', 'b', 'c', 'd', 'e', 'e']
如参数为列表,则列表作为一个元素添加到之前的列表末尾
(2)count()
对传入的元素进行计数
lis = ['a','b','c','d','e']
print(lis.count('a'))
结果为1
(3)extend()
在列表末尾一次性追加另一个序列中的多个值(用新序列扩展原来的列表)
lis = ['a','b','c','d','e']
lis.extend(['f','g'])
print(lis)
打印出
['a', 'b', 'c', 'd', 'e', 'f', 'g']
(4)insert()
根据索引的位置添加元素
lis = ['a','b','c','d','e']
lis.insert(2,'g')
print(lis)
打印出
['a', 'b', 'g', 'c', 'd', 'e']
(5)copy()
浅复制
lis = ['a','b','c','d','e']
lst = lis.copy()
print(lst)
相当于lst = lis[:]
(6)clear()
清空列表
lis = ['a','b','c','d','e']
lis.clear()
print(lis)
打印
[]
相当于del lis[:]
python培训:http://www.baizhiedu.com/python2019