# Python学习记录2
@TOC
一、break continue else 语句
1.break语句
不知道你是否听过这样的一句话:”**死循环一旦跑起来,就再也没有回头路了…..**”
难道真的一进入死循环就再也出不来了吗?
其实break语句就可以随时让程序跳出循环的枷锁
break语句的作用是 终止当前循环,跳出循环体
下面我给大家举几个实例:
1
2
3
4
5
6
7
8
9
10tips ='击剑'
answer = input('SLsec的传统是什么?')
while True:
if answer == tips:
break
answer = input('很遗憾,你还没有get到真谛!请重新输入():')
print('对呀,击剑才是男人的浪漫')
程序运行之后,只有当我们输入’击剑‘的时候,才会执行break语句,才可以跳出while这个’死循环‘
2.continue语句
除了break语句以外 还有一个可以跳出循环的语句 它来了 continue!
continue的作用是 跳出本轮循环 并开始下一轮的循环 (但是它在开始下一轮循环之前,会先测试循环条件)
同样的用实例来说明
如果我们想要获取从1998年到2051年之间所有的闰年月份,那么我们可以通过下面的代码
1 | for year in range(1998,2051): |
程序实现如下:
3.else语句
在之前我的理解中 if 和else 这两个简直就是亲兄弟一样 要么同时出现要么同时消失,但是通过学习发现else语句在循环中也有他的一席之地
当while 和 for 循环语句的后面也可以加上一个else 语句,表示 当条件不成立的时候执行的内容 语法如下:
while 条件:
循环体 else :
条件不成立时执行的内容 for 变量 in 可迭代对象:
循环体
else:
条件不成立时执行的内容
在很多的时候其实else的出现 不太影响代码的结果
但是当遇到break语句时情况就会出现不同
1.
1 | for year in range(2018,2100): |
2.
1 | for year in range(2018,2100): |
在这里会发现什么也没有执行,那是因为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:
列表切片并不会修改列表自身的组成结构和数据,它其实是为列表创建一个新的拷贝 并返回。