循环结构(for-in)

  • 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等

  • 格式:

    for x in y:
    循环体

    执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束

  • 示例1:遍历字符串

    s = 'I love you more than i can say'
    for i in s:
       print(i)
  • 示例2:遍历列表

    l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
    ​
    for i in l:
       print(i)
    ​
    # 可以获取下表,enumerate每次循环可以得到下表及元素
    for i, v in enumerate(l):
       print(i, v)
  • 示例3:遍历字典

    d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
    ​
    for key in d:
       # 遍历字典时遍历的是键
       print(key, d.get(key))
    ​
    # for key, value in d.items():
    # 上下两种方式等价 d.items() <=> dict.items(d)
    for key, value in dict.items(d):
       print(key, value)
  • 列表生成式

    • 可迭代对象:列表、元组、字典等都是可迭代对象,就是可以遍历的对象

    • range,用法如下:

    print(range(10))
    # 可以生成从0开始到10的连续整数的迭代对象
    print(range(0, 10))
    ​
    # 可以遍历
    for i in range(10):
       print(i)
    ​
    # 强制转换为列表
    print(list(range(1, 11)))
    • 列表生成式:快速生成具有特定规律的列表

    # 列表生成式
    print([i for i in range(1, 11)])
    print([i*2 for i in range(1, 11)])
    print([i*i for i in range(1, 11)])
    print([str(i) for i in range(1, 11)])
    print([i for i in range(1, 11) if i % 2 == 0])
  • 多重循环:就是循环中嵌套循环

    • 示例1:从终端输入一个整数,打印如下图形:

    n = int(input('请输入一个整数:'))
    ​
    '''
    1
    1 2
    1 2 3
    1 2 3 4
    ...
    1 2 3 4 ... n
    '''
    ​
    '''
    j = 1
    while j <= n:
      i = 1
      while i <= j:
          print(i, end=' ')
          i += 1
      print()
      j += 1
    '''
    ​
    for i in range(1, n+1):
       for j in range(1, i+1):
           print(j, end=' ')
       print()
    • 示例2:打印九九乘法表

    for i in range(1, 10):
       for j in range(1, i+1):
           print('{}x{}={}'.format(j, i, j*i), end=' ')
       print()
    • 示例3:列表排序(选择法)

    l = [1, 9, 4, 2, 0, 8, 3, 7]
    ​
    # 获取长度
    n = len(l)
    ​
    # 外层循环用来控制循环的圈数,每一圈可以确定一个元素的位置
    # 确定n个元素起始只需要n-1圈即可
    for i in range(n-1):
       # 内层循环用来比较大小交换元素,一圈确定一个元素
       for j in range(i+1, n):
           # 如果不合适
           if l[i] > l[j]:
               # 交换两个变量
               l[i], l[j] = l[j], l[i]
    ​
    print(l)
    • 练习:

      1. 使用冒泡法排序列表

        1.冒泡:每次比较相邻的两个元素,不合适就交换,依次向后,一圈下来可以确定一个元素
        2.需要使用双重循环,外层循环控制循环的圈数, 内层控制一圈怎么交换
      2. 遍历列表,打印:我叫xxx,今年yyy岁,我来自zzz,数据如下

        lt = [

            {'name':'小王', 'age':18, 'info':[('phone', '123'), ('dizhi', '广州')]},
          {'name':'小芳', 'age':19, 'info':[('phone', '789'), ('dizhi', '深圳')]},
          {'name':'小杜', 'age':22, 'info':[('phone', '567'), ('dizhi', '北京')]},
          {'name':'小孟', 'age':28, 'info':[('phone', '000'), ('dizhi', '上海')]},
          {'name':'小乔', 'age':26, 'info':[('phone', '111'), ('dizhi', '河南')]},
        ]
      3. 从终端输入两个整数m,n,打印m*n的表格,如:2,5,打印如下效果

        1 2 3 4 5
        6 7 8 9 10

python 循环结构(for-in)的更多相关文章

  1. python 循环结构 while for...in

    # ### 循环结构 while for...in """ 循环结构的特点:减少代码的冗余,提高代码的效率 语法形式: """ # 打印1~ ...

  2. Python循环结构用法

    本文介绍python中的while循环.for循环.在python中for可以用于循环,也可用于另一种近亲的列表解析,列表解析是python中非常重要的特性,详细内容见后面的文章. 一般来说,pyth ...

  3. python循环结构

    while循环 while 条件表达式: 语句块 while语句的条件表达式是循环条件,常用的是关系表达式或者逻辑表达式,语句块是循环执行的语句. n=1 p=1 num=int(input(&quo ...

  4. python 循环结构

    for循环 list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] ...

  5. Python 循环结构语句

    1.for循环:计次循环 2.while循环:条件循环 3.嵌套循环 4.跳转语句 一.for循环的使用 1.进行数值循环 利用数值循环输出三次‘你好’: >>> for i in ...

  6. (9)Python循环结构

  7. python分支结构与循环结构

    python分支结构 一.if 单条件形式 # 年轻人的世界都不容易 age > 18 age = int(input("请输入您的年龄:")) # input()函数 模拟 ...

  8. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  9. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

随机推荐

  1. Typescript中的可索引接口 类类型接口

    /* 5.typeScript中的接口 可索引接口 类类型接口 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用 ...

  2. linux删除用户报错:userdel: user prize is currently used by process 28021

    之前创建了一个普通用户prize,现在想删掉它: [root@VM_0_14_centos /]# userdel prize userdel: user prize 发现原来我克隆了一个会话,另一个 ...

  3. Spring cloud微服务安全实战-3-14章节小结

    认证:一个httpBasic 一个是用户名密码的认证 授权:数据库内判断的r就是读 w就是写 ,ACL 获取用户信息的这段逻辑,实际上着也是安全机制的一种.防止越权,当前只能看到自己的信息. Spri ...

  4. Python初级 4 数据的类型

    一.数据类型 1.整数: int a = 3 b = 5 2.浮点数: float a = 3.0 b = 5.2 3.字符串: str a = "3.0" b = "3 ...

  5. window下安装docker

    下载docker toolbox https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 1,.双击安装DockerTool ...

  6. 用anaconda保证64位和32位的python共存

    conda info # 查看当前工作平台 set CONDA_FORCE_32BIT=1 # 切换到32位 set CONDA_FORCE_32BIT=0 # 切换到64位 conda create ...

  7. AWS 监控服务(六)

    AWS CloudWatch 概念 基于确定的内容监控基础设施组件 基于指定的指标发送通知并触发各种操作 分布式统计数据和收集系统,用于收集并跟踪指标 默认情况下,在管理程序级别无缝收集指标,如CPU ...

  8. 详解consul的安装和配置

    Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现.支持外部 SaaS 提供者等. consul提供的一些关键特性: service discovery:c ...

  9. VS混淆/反编译/远程调试/Spy++的Tools工具

    VS的Tools工具(混淆/反编译/远程调试/Spy++等) https://blog.csdn.net/chunyexiyu/article/details/14445605 参考:http://b ...

  10. php实现文件与16进制相互转换

    php实现文件与16进制相互转换 <pre><?php/** * php 文件与16进制相互转换 * Date: 2017-01-14 * Author: fdipzone * Ve ...