Python学习记录2

# Python学习记录2

@TOC


一、break continue else 语句

1.break语句
不知道你是否听过这样的一句话:”**死循环一旦跑起来,就再也没有回头路了…..**”

难道真的一进入死循环就再也出不来了吗?
其实break语句就可以随时让程序跳出循环的枷锁
break语句的作用是 终止当前循环,跳出循环体
下面我给大家举几个实例:

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tips ='击剑'
    answer = input('SLsec的传统是什么?')


    while True:
    if answer == tips:
    break
    answer = input('很遗憾,你还没有get到真谛!请重新输入():')
    print('对呀,击剑才是男人的浪漫')

    在这里插入图片描述

程序运行之后,只有当我们输入’击剑‘的时候,才会执行break语句,才可以跳出while这个’死循环

2.continue语句

除了break语句以外 还有一个可以跳出循环的语句 它来了 continue!
continue的作用是 跳出本轮循环 并开始下一轮的循环但是它在开始下一轮循环之前,会先测试循环条件

同样的用实例来说明
如果我们想要获取从1998年到2051年之间所有的闰年月份,那么我们可以通过下面的代码

1
2
3
4
for year in range(1998,2051):
if (year % 4 ==0 ) and (year %100 !=0) or (year %400 == 0):
print(year)
continue

程序实现如下:
在这里插入图片描述

3.else语句
在之前我的理解中 ifelse 这两个简直就是亲兄弟一样 要么同时出现要么同时消失,但是通过学习发现else语句在循环中也有他的一席之地
whilefor 循环语句的后面也可以加上一个else 语句,表示 当条件不成立的时候执行的内容 语法如下:

while 条件:
循环体 else :
条件不成立时执行的内容 for 变量 in 可迭代对象:
循环体
else:
条件不成立时执行的内容

在很多的时候其实else的出现 不太影响代码的结果
但是当遇到break语句时情况就会出现不同
1.

1
2
3
4
for year in range(2018,2100):
if (year %4 ==0 )and(year%100!=0)or(year%400 ==0):
break
print("2018年以后的第一个闰年是:",year)

在这里插入图片描述

2.

1
2
3
4
5
for year in range(2018,2100):
if (year %4 ==0 )and(year%100!=0)or(year%400 ==0):
break
else:
print("2018年以后的第一个闰年是:",year)

在这里插入图片描述
在这里会发现什么也没有执行,那是因为break语句让程序跳出了循环,但却不会执行else中的内容了

所以说人总是在学习中进步 看到好的 没见过的东西 记录下来 还是很不错的

二、列表

1.1创建列表

只需要使用中括号将数据包起来就行,数据与数据之间用逗号分隔

在这里插入图片描述
由于上面创建的列表没有命名,即使我们创建好了,也没办法再次使用它。
那么我们就需要给它上一个变量名,然后就可以随时对它进行引用和修改。

在这里插入图片描述
我们在这定义一个名为qq的列表 紧接着用type()函数来返回指定参数的类型 list 即为列表的意思
然后我们又使用for循环 把qq里面的每一个元素给打印出来
只要我们定义了列表的变量名 我们就可以随时对它进行引用和修改

另外python的列表并不一定放的都是同一类型的数据,我们可以将各种类型的数据存放在一起 甚至是再放进去一个列表

在这里插入图片描述
1.2向列表添加元素
向列表中添加元素呢 有很多种方法
下面我来一一介绍
1.2.1append()方法在这里插入图片描述
可以看到数字5 已经被我们添加到了列表SL的末尾
另外这里的append()并不是一个BIF,它是属于列表对象的一个方法。中间的‘**.’ 我把它理解为范围的意思:append()这个方法是属于一个叫SL的列表对象的**
那么我们是不是也可以尝试再把6,7,8,9加进去SL列表中呢
在这里插入图片描述
结果很显然是不行的,因为append()方法只支持一个参数
1.2.2 extend()方法
如果我们想要同时添加多个数据,可以使用extend()方法向列表末尾添加多个元素
在这里插入图片描述
其实extend()方法 实际上是用另一个列表来补充已经拥有的列表,所以它的参数应该为另一个列表。

1.2.3 insert()方法

那么上面的两种方法无论可以加几个元素 都只能把元素加在列表的末尾,那么就应该有一种方法是可以把 元素加到我们想要的位置的

所以insert()方法 应运而生
insert()方法有两个参数:第一个参数指定待插入的位置(索引值),第二个参数是待插入的元素值

在这里插入图片描述
在这里我们将0 插入SL这个列表的最前面
这里要注意的是:在Python列表中 第一个位置的索引值是0,第二个是1,以此类推

另外insert()方法中代表位置的第一个参数也可以为负数:表示与列表末尾的相对距离
在这里插入图片描述

1.3从列表中获取元素
通过索引值可以直接获取列表中的某个元素
在这里插入图片描述
那么如果一个列表中的元素过多 我们又想要获取列表靠后的元素该怎么办呢?
不妨使用len()函数 获取这个列表的长度,也就是获取它的元素个数 再减去1 我们就可以获取列表最后一个元素的索引值
在这里插入图片描述
这里我们-2就获得了倒数第2个元素
其实我们也可以不适用len()函数
当我们的索引值为负数的时候,表示从列表的末尾进行反向索引
在这里插入图片描述
同样可以实现这样的结果
如果一个列表中又包含了另一个列表而我们又恰好想要取内部列表中的元素时,我们应该这样做在这里插入图片描述
1.4从列表中删除元素
从列表中删除元素我们也有三种方法
1.4.1 remove()方法
在这里插入图片描述
当我们使用remove方法来删除元素时 不需要知道元素所在位置
1.4.2 pop()方法
pop()方法是将列表中的指定元素“弹”出来,也就是说取出这个元素 并删除该元素的意思
但它的参数为索引值
在这里插入图片描述
如果我们没有带参数的时候,默认删除最后一个元素
1.4.3 del方法
在这里插入图片描述
1.5列表切片
利用切片(slice) 可以将一个列表中的某些元素 快速地转移到另一个列表中
在这里插入图片描述
左边的索引值为开始位置,右边的是结束位置。
但是要注意:结束位置的元素是不包含的
在这里插入图片描述
如果省略了开始位置 那么Python会从0开始。同样的,如果想得到从指定索引值到列表末尾的所有元素,省略结束位置 即可。
如果只有[:]的话,Python将返回整个列表的拷贝。

tips:
列表切片并不会修改列表自身的组成结构和数据,它其实是为列表创建一个新的拷贝 并返回。

Prev:
Python学习记录3
Next:
Python学习记录1
catalog
catalog