python 第二章 列表,if循环
Posted xyx2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 第二章 列表,if循环相关的知识,希望对你有一定的参考价值。
列表
序列是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 0 13 9 14 45
and,or,in,not in 用法
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 and 只要有一个为False结果就为False 5 1>2and2>3 6 False 7 1<2 and 2<3 8 True 9 1>2 and 2<3 10 False 11 12 or 只要有一个为True 结果就为True 13 1>2 or 2>3 14 False 15 1>2 or 2<3 16 True 17 18 检查元素是否在列表中: in 19 a = [1,2,3,4,5,6,6] 20 2 in a 21 True 22 7 in a 23 False 24 25 检查元素是否不在列表中: not in 26 a = [1,2,3,4,5,6,6] 27 2 not in a 28 False 29 7 not in a 30 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 0 10 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]