python 遍历列表表达多if,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 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值