列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [1,2,3,4,5,6,7] #定义一个列表
5
6 print(list[0]) #通过索引取值
7 print(list[-1]) #支持倒取-1表示最后一个
8 list[0]=8 #通过索引修改值
9 print(list)10
11 #输出
12 1
13 7
14 [8,2,3,4,5,6,7]
给列表添加元素
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [1,2,3,4,5,6,7]5 list.append(10) #在列表末尾添加元素
6 print(list)7 list.insert(1,10) #指定索引位置插入元素,把元素插入到置顶位置 比如索引号为 1的位
8 print(list)9 list1 = [9,8,7,6,5] #定义一个list1 列表
10 list.extend(list1) #扩展原列表,参数为可迭代对象(可以被for循环遍历的)
11 print(list)12 #输出
13 [1, 2, 3, 4, 5, 6, 7, 10]14 [1, 10, 2, 3, 4, 5, 6, 7, 10]15 [1, 10, 2, 3, 4, 5, 6, 7, 10, 9, 8, 7, 6, 5]
列表拷贝可以用copy(),也可以直接赋值但是建议使用copy()方法,也可以用切片的方法
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [1,2,3,4,5,6,7,8,9]5 a = list.copy() #拷贝,复制,浅拷贝
6 print(a)7 b = a[:] #切片的方法
8 print(b)9 #输出
10 [1, 2, 3, 4, 5, 6, 7, 8, 9]11 [1, 2, 3, 4, 5, 6, 7, 8, 9]
计算元素在列表中出现了几次,获取当前元素的索引位置,以及len()函数
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [1,2,3,4,5,5,5,6,7]5 a = list.count(5) #计算元素在列表中出现几次
6 print(a)7 b = list.index(6,3,9) #根据值获取当前值的索引位置 从左开始,可以在参数后加上 从第几个开始 第几个结束,不写默认从1开始
8 print(b)9 c = len(list) #确定列表的长度
10 print(c)11 #输出
12 3
13 7
14 9
删除列表元素,清空列表
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [1,2,3,4,5,6,7,8,9,9,2]5 del list[0] #通过索引删除,永久删除并不可以在使用其值
6 print(list)7
8 list.pop() #通过索引删除,但是可以把其重新赋值给一个变量,还可以继续使用,默认从最后往前删
9 b =list.pop()10 print(b)11
12 list.remove(2) #根据值删除元素
13 print(list)14
15 list.clear() #清空列表
16 print(list)17 #输出
18 [2, 3, 4, 5, 6, 7, 8, 9, 9, 2]19 9
20 [3, 4, 5, 6, 7, 8, 9]21 []
列表排序
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 list = [0,1,2,3,4,5,6]5 a = sorted(list) #临时排序
6 print(a)7
8 b = sorted(list,reverse = True) #反向临时排序
9 print(b)10
11 list.sort() #永久排序
12 print(list)13
14 list.sort(reverse = True) #反向排序
15 print(list)16
17 list.reverse() #反转列表,但不是按顺序。 如果想返回需要再次调用reverse()
18 print(list)19 #输出
20 [0, 1, 2, 3, 4, 5, 6]21 [6, 5, 4, 3, 2, 1, 0]22 [0, 1, 2, 3, 4, 5, 6]23 [6, 5, 4, 3, 2, 1, 0]24 [0, 1, 2, 3, 4, 5, 6]
使用range()函数创建列表,对数字列表进行简单的统计计算
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 a = list(range(10)) #只会生成0-9
5 print(a)6
7 print(min(a)) #列表最小值
8 print(max(a)) #列表最大值
9 print(sum(a)) #列表总和
10 #输出
11 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]12 013 9
14 45
and,or,in,not in 用法
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 and只要有一个为False结果就为False5 1>2and2>3
6 False7 1<2 and 2<3
8 True9 1>2 and 2<3
10 False11
12 or只要有一个为True 结果就为True13 1>2 or 2>3
14 False15 1>2 or 2<3
16 True17
18 检查元素是否在列表中: in
19 a = [1,2,3,4,5,6,6]20 2 ina21 True22 7 ina23 False24
25 检查元素是否不在列表中: not in
26 a = [1,2,3,4,5,6,6]27 2 not ina28 False29 7 not ina30 True
求模运算符
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 4%3
5 1
6 5%3
7 2
8 6%3
9 010 7%3
11 2
12 """求模运算不会指出一个数是另一个数的多少倍,而只是指出余数是多少
if else 语句
如果if语句结果为True则运行if下面的程序
否则运行else 下面的程序
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 """如果一个数被另一个数整除,余数为0,因此求模运算符将返回0,可以利用这点来判断一个数是奇数还是偶数"""
5
6 a = 7
7 if a % 2 ==0:8 print("这是一个偶数")9 else:10 print("这是一个奇数")
if elif else 语句
如果if语句结果为True则运行if下面的程序
如果elif语句结果为True则运行elif下面的程序
否则运行else 下面的程序
#!/usr/bin/env python#-*- coding:utf-8 -*-
"""这是一个判断学生成绩评分的if语句"""temp=int(input(‘输入一个分数:‘))if (60 <= temp < 80):print("C")elif (80 <= temp < 90):print("B")elif (90 <= temp <= 100):print("A")else:print("不及格")
列表解析式 a = [i for i in range(10)]
列表生成式
写列表生成式时,把要生成的元素放到前面,后面跟for循环就可以把list创建起来
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 a = [x*x for x in range(10) ]5 print(a)6
7 #for循环后面还可以加上if判断
8 a = [x*x for x in range(10) if x%2==0]9 print(a)10
11 #还可以使用两层循环
12 a = [m+n for m in "ABC" for n in "XYZ"]13 print(a)14 #输出
15 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]16 [0, 4, 16, 36, 64]17 [‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘]
切片
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 a = [1,2,3,4,5,6,7,8,9]5 print(a[0:3]) #显示前三个元素
6 print(a[2:6]) #显示从3到第6个元素
7 print(a[-3:]) #显示最后三个元素
8 #输出
9 [1, 2, 3]10 [3, 4, 5, 6]11 [7, 8, 9]
原文:https://www.cnblogs.com/xyx2018/p/9575152.html