→→博主新网站,点击跳转←←

04-for循环的各个语句及list列表学习

1. for循环

  • 根据传入的序列进行循环,每次循环都会将序列中的一个元素引出成变量,序列变量完成,循环结束。

  • 格式:

    # 普通for循环
    for <var> in <seq>: # var为变量,接收每次循环序列引出的元素;seq为序列
    语句1 # 每次循环时执行的语句 # for-else语句格式:
    for <var> in <seq>:
    语句1
    else:
    语句2 # 当for循环正常结束,执行此语句,不包括break

2. range()函数

  • range函数根据所传参数来生成数列,可以被for循环使用

  • range函数也可以被其他函数调用,如list、tuple等

  • 实例:

    # for 循环调用
    for i in range(-10,10,2): #生成一个从-10开始,步长为2,到10结束的数列,不包括10
    print(i) # list函数调用
    In [1]: list(range(10)) # 会生成一个从0到9的列表
    Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3. 循环语句中的break、continue、pass

  • break: break语句用于终止当前的while或for循环,而且循环对应的else语句也不会被执行

  • continue: 用于跳过此次循环中后面的所有语句,继续下一轮循环

  • pass: 占位符,在循环中为空语句,不会做任何事,只是为了保证程序的完整性


  • break语句实例:

    # 遍历字符串"sense",但只遍历到"n"
    
    # 1. for 循环
    for i in "sense":
    print(i)
    if i == "n":
    break # 2. while 循环
    str1 = "sense"
    index = 0
    while True:
    print(str1[index])
    if str1[index] == "n":
    break
    index += 1 输出:
    s
    e
    n
  • continue语句实例:

    # 1. for循环     # 遍历字符串"sense",但要跳过"n"
    for i in "sense":
    if i == "n":
    continue
    print(i) 输出:
    s
    e
    s
    e # 2. while循环 # 打印1~5,但是不能包括3
    num1 = 0
    while num1 < 5:
    num1 += 1
    if num1 == 3:
    continue
    print(num1) 输出:
    1
    2
    4
    5
  • pass语句实例

    for i in "sense":
    if i == "n":
    pass #照常运行,什么事都不做
    print(i) 输出:
    s
    e
    n
    s
    e

4. list列表

  • 含义:将多个元素放到一个序列中存储;其元素在list中是有序的

  • 特点:每个元素都有下标,方便获取;而且元素可以为不同类型

    """
    创建列表的格式
    格式:列表名 = [列表选项1, 列表选项2, ...., 列表选项n]
    """ # 创建含有多种数据类型的列表
    [1,"2",[1,2],True]
  • 列表元素访问及二维列表(使用下标方法):

    # 格式:  列表名[下标]
    list1 = [1,2,3]
    list1[1] #取第二个元素 # 二维列表,取其中的6
    In [1]: twoList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    In [2]: twoList[1][2]
    Out[2]: 6
  • 元素的替换:

    # 将列表中的2替换成1
    In [1]: list1 = [1,2,3]
    In [2]: list1[1] = 1
    In [3]: list1
    Out[3]: [1, 1, 3]
  • 列表组合与重复

    # 列表重复
    In [4]: list4 = [1, 2, 3]
    In [5]: list5 = [4, 5, 6]
    In [6]: list6 = list4+list5
    In [7]: list6
    Out[7]: [1, 2, 3, 4, 5, 6] # 列表重复
    In [8]: list7 = [1,2,3]
    In [9]: list8 = list7*3
    In [10]: list8
    Out[10]: [1, 2, 3, 1, 2, 3, 1, 2, 3]
  • 成员运算符在列表中的使用及列表截取

    # 成员运算符的使用
    In [11]: list9 = [1,2,3,4,5]
    In [12]: 2 in list9
    Out[12]: True
    In [13]: 6 not in list9
    Out[13]: True # 列表截取,返回的时列表
    In [18]: list10 = [1, 2, 3, 4, 5, 6, 7, 8]
    In [19]: list10[3:6]
    Out[19]: [4, 5, 6]
    In [20]: list10[:]
    Out[20]: [1, 2, 3, 4, 5, 6, 7, 8]
    In [21]: list10[:-1]
    Out[21]: [1, 2, 3, 4, 5, 6, 7]
    In [22]: list10[::-1]
    Out[22]: [8, 7, 6, 5, 4, 3, 2, 1]
  • 列表方法(通用函数)

    方法名 描述
    len(list) 返回列表元素个数
    max(list) 返回列表元素最大值
    min(list) 返回列表元素最小值
    list(seq) 将序列转换为list
    count(obj) 返回列表中元素出现的次数
  • 纯列表方法

    方法名 描述
    append(obj) 在列表末尾添加一个元素
    extend(obj) 在列表末尾一次性追加另一个列表的多个元素
    insert(index,obj) 在下标处添加一个元素,不覆盖原数据,原数据往后顺延。
    pop(index) 移除列表中指定下标处的元素,默认为最后一个
    remove(obj) 按照元素名移除,移除列表中的某一个元素,匹配第一个
    clear() 清除列表中的所有元素
    index(obj,start,stop) 从列表中找出某个元素的下标,匹配第一个,可以指定范围
    reverse() 将列表倒序
    sort(reverse=False) 将列表元素按大小升序,reverse为False时为升序
    copy() 深拷贝列表,拷贝后两列表互不干扰,浅拷贝直接使用赋值运算符即可

5. 列表生成式

  • 使用python的内置功能来简单的创建出想要的list
# range: 生成指定范围内的list
In [2]: list(range(1,10))
Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [3]: list(range(1,10,2))
Out[3]: [1, 3, 5, 7, 9] # 真正的列表生成式
# 取0到10
In [4]: [i for i in range(10)]
Out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 取0~10之间能被2整除的数
In [5]: [i for i in range(10) if i % 2 == 0]
Out[5]: [0, 2, 4, 6, 8] # 取0~10之间所有数的平方
In [6]: [i*i for i in range(10)]
Out[6]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 取另一个列表中大于0的数
In [10]: list1 = [0, 2, -3, -4, 5]
In [11]: list2 = [i for i in list1 if i > 0]
In [12]: list2
Out[12]: [2, 5] # 两个for循环
In [15]: [x+y for x in "ABC" for y in "XYZ"]
Out[15]: ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ'] # 根据ASCII值取a-z
In [23]: print([chr(x) for x in range(ord("a"),ord("z")+1)])
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

6. 实例演练

# 使用while删除列表中重复的数字3
numList = [1, 2, 3, 3, 3, 4, 5, 6, 2, 4, 3, 3, "3", '3']
num1 = 0
times = numList.count(3)
while num1 < times:
numList.remove(3)
num1 += 1
print(numList) # 写一个随机点名册

04-for循环的各个语句及list列表学习的更多相关文章

  1. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  2. 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句

    条件和条件语句 下面的值在作为布尔表达式的时候,会被解释器看作假(False):False None    0    ""    ()    []    {} 条件执行和if语句 ...

  3. 永久性for循环配合switch语句可以实现菜单功能

    永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...

  4. python学习笔记之四:条件,循环和其他语句

    前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...

  5. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  6. shell 中的for、while循环及if语句

    shell与其他语言一样也支持for.while循环 for循环的一般格式如下: #!/bin/sh for 变量 in 列表 do command command command ......... ...

  7. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

  8. python全栈开发知识点补充for else和while else如果不是除正常以外的其他方式退出循环,那么else语句就会被执行。

    如果不是除正常以外的其他方式退出循环,那么else语句就会被执行. 也就是循环体内没有break语句.return语句.和其他异常语句的执行. for   else >>> for ...

  9. python学习(五) 条件、循环和其他语句

    第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45)         // 可以用逗号隔开 ...

随机推荐

  1. pyhton输出表格数据出现省略号?(教你很快解决)

    //2019.07.18 pandas是python提供的非常好用的数据分析模块,但是在使用pandas进行数据分析时,有时候需要查看打印的结果,当dataframe行数或者列数比较多的时候,打印结果 ...

  2. 强制数据类型转换 字符串/数字/boolean

    类型转换主要指,将其他数据类型转换为(String.Number.Boolean) 类型转换有显式类型转换 和隐式类型转换 显式类型转换 1.1转换为string 调用数据的 toString() 方 ...

  3. mongodb - schema中格式时间

       date:{ type: String,        default: () => moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),   ...

  4. 中文文本分类之CharCNN

    文本分类是自然语言处理中一个非常经典的任务,可用的模型非常多,相关的开源代码也非常多了.这篇博客用一个CNN模型,对新闻文本进行分类. 全部代码有4个模块:1.数据处理模块(命名为:cnews_loa ...

  5. python计算:pi/4=1-1/3+1/5-1/7+…

    当有一项的绝对值小于10e-6停止计算 def cul() : ans = 0;add = 1 sign = 1 while(1/add>10**(-6)) : ans = ans + sign ...

  6. 网卡绑定多个ip

    现在我的树莓派上的wlan0的IP是192.168.31.237,之前通过双绞线连接时候eth0的ip是192.168.31.50 . 我就想啊,能不能把wlan0的ip设置成50.......... ...

  7. 使用NlohmannJson写JSON保留插入顺序

    1. 正文 nlohmann/json是一个C++的读写JSON的组件,号称使用现代C++范式写的.简单看了一下,这个组件确实包含了很多cpp11以上的特性,在vs2015及一下的版本甚至没办法正常编 ...

  8. ActiveMQ消息队列和SignalR之日志实时监控及警报小实例

    主要技术: log4net-生成日志. ActiveMQ-生成日志的时候发送消息,并实时监控日志. SignalR-将ActiveMQ监控的日志实时显示到浏览器上,而不用刷新浏览器. 小实例介绍: 左 ...

  9. ZOJ 3791 An easy game DP+组合数

    给定两个01序列,每次操作可以任意改变其中的m个数字 0变 1  1 变 0,正好要变化k次,问有多少种变法 dp模型为dp[i][j],表示进行到第i次变化,A,B序列有j个不同的 变法总和. 循环 ...

  10. 第六篇 ORM 操作大全

    阅读目录(Content) 一 对象关系映射ORM概念 二 Django连接MySQL 三modles.py创建表 常用字段 字段合集 字段参数 DateField和DateTimeField 四.关 ...