分享

学习python第三课:循环语句、列表元组笔记

 藏墨书院 2020-07-01

​一、for循环  为序列(或其他可迭代对象)中的每个元素执行代码块

for 循环又称为计数循环,是因为 for 循环次数由可迭代对象来决定,我们学过的字符串就是可迭代对象,以及我们后面要学的列表、元组、字典、集合等都属于可迭代对象。 

可迭代对象:字符串、列表、元组、字典、集合

      *只要能够使用for循环,就不要使用while循环。

for循环特点:

1、for循环不需要考虑循环次数,循环次数由后面的对象长度来决定因此不用担心出现死循环

2、变量值不受影响。值不受循环体中代码的影响,下次循环会依旧按照循环来赋值

                      

 

for i in "python":     

    print(i)

#for 变量 in 可迭代对象: → 迭代(遍历)特定范围内的对象

可迭代对象:字符串、列表、元组、字典、集合

创建迭代范围函数range  → range(start起始值,end结束值,step步长)

     range(1,101,2)  → 表示从1~100的隔位取值的整数,结果为1.3.5. …

for i in range(10):  

    print(i)

# 左闭右开(不包含结束值)。默认起始位置为0,步长为1。此处相当于数学集合表示【0.10)

#print 里面的 end 可以设置每个值打印之后输出的字符串,默认是换行.

【技巧】end="\t"中 \t 表示制表符,这样输出的是表格

【技巧】end=',\n'中 \n 表示换行

二、跳出循环——continue

    通常,循环会不断地执行代码块,直到条件为False使用完序列中的所有元素。但有些情况下,可能想中断循环,开始新迭代或直接结束循环。

方法1:break ——结束(跳出)循环。即终止本次循环。循环结束

方法2:continue——跳过当前循环,即结束本次循环,进入下一轮循环

for循环 和 while循环中都可以使用breakcontinue

同时后面也可以接上else,当循环被break终止时,else不会执行

三、列表推导式

列表推导式:list-a = [i for i in range(101) if i % 2 == 0](类似三目运算)

四、列表list

【前言】python中两种主要数据结构-容器container(存放其他对象的对象):序列(如列表和元组)和映射(如字典)。Python内置了多种序列sequence,其中常用的两种是:列表和元组,另一种重要序列是字符串。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。还有一种既不是序列也不是映射的容器—集合。

    适用于所有序列的几种操作,包括索引index、切片、相加、相乘和成员资格检查in。

    迭代(iteration),对序列进行迭代意味着对其每个元素都执行特定的操作。

列表的特点是:可以修改,即可进行增删改查。而元组不能修改。

1、列表的定义:用方括号括起来,每个元素用逗号分隔。列表里面可以几乎放python的任何对象,

2、对列表的基本操作 :增删改查

1)修改列表,给元素赋值。此处名称设为x。实际中要用易理解的名称

2-1)索引取值x[1]表示取或查询第二个元素的值,此处为“name”。注意索引的方括号

2-2)赋值修改列表:列表名称x也可以修改成容易理解的名称,如list_basket等。

给x[2](第三个元素)重新赋值为3.1415,然后x列表修改成了如上所示。

2-3)查询列表的长度len>>> len(x)   #返回的值为5,表示列表中有5个元素,其中集合[1,7]为一个元素
注1:单个索引取值超过长度就会报错。此处列表长度为5,8已超出其长度
2-4)查询位置index>>> x.index('name')  结果为1

注2:列表中各元素位置是从0开始编号的,即0表示第一个位置;

 注3: 负索引时,负索引就是从列表尾部往前数-1表示序列末尾元素的位置。

3)切片(slicing)。访问特定范围内的多个元素。使用两个索引并用冒号分隔。


4)append添加1 :将一个对象添加到列表末尾
5)extend添加多:将多个值添加到列表末尾。注:多个对象要放在方括号[ ]内。否则报错

两个列表直接相加,用list_1 + list_2也同样效果

6)指定位置添加insert。将一个对象插入列表。

注:insert必须输入位置参数。如何知道函数怎么使用,可用help( )查询

但是这样却会报错:

   7)列表修改。

        替换:利用索引取值,可以直接赋值替换,如前2-2)示例

删除:pop、remove、clear 这三个方法,删除是不可逆的,所以删除前要确定好

  8)删除pop:从列表中删除一个元素,并返回这一元素。默认为移除末尾元素。

注:【扩展补充】pop是唯一既修改列表又返回一个非None值的列表方法。使用pop可实现一种常见的数据结构——栈(stack)。最后加入的值最先取走,称为后进先出(LIFO)

9)删除remove:删除指定值

        

10)删除clear清空列表的内容

       

3、列表的其他方法

   1)dir:查看一个对象所有内置的方法。 以下括号内的x为前面定义的变量。

  2)del 删除

          

3)copy复制列表,只是将另一个名称关联到列表,类似于保存快照        

       

4)coun统计次数:统计指定的元素在列表中出现的次数,也属于查找。如统计上例中>>> x.count("西瓜"),其返回结果为2.

5)sort排序:对列表中元素进行排序,采用Timsort算法排序。默认或reverse=False时按升序排序列表

          

      注:相同元素类型才能进行排序,否则报错。

       

6)reverse反向列表:是将列表顺序颠倒过来,没有排序

          

【如果要按相反的顺序迭代序列,可用函数reversed。但其不返回列表,而是返回一个迭代器】可用sort(reverse = True)来逆排序:

                

五、元组:不能修改的序列。将一些值用逗号分隔,就能自动创建一个元组。还可用用圆括号括起,而列表用方括号。其方法只有count、index     

 空元组用两个不包含任何内容的圆括号表示。

  


day03作业:

1.for循环打印出九九乘法口诀表 

2.一个列表中有重复元素,编写程序,移除重复元素(只能使用我们学过的内容来实现)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多