• Python的range、enumerate和zip函数用法


    range函数可创建一个整数列表。
    如果需要知道当前元素在列表中的索引,推荐用enumerate代替range。
    zip函数用于同时遍历多个迭代器。

    一、range 函数

    range函数可创建一个整数列表,一般用在 for 循环中。

    语法:

    range([start,] stop[, step])

    参数:

    start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);
    stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5
    step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)

    使用例子:

    for i in range(5):
        print(i, end=' ') #输出:0 1 2 3 4 
    
    print()
    for i in range(1,5):
        print(i, end=' ') #输出:1 2 3 4 
    
    print()
    for i in range(0,5,2):
        print(i, end=' ') #输出:0 2 4  
    
    print()
    for i in range(0,-5,-1):
        print(i, end=' ') #输出:0 -1 -2 -3 -4
    
    
    print()
    fruit_list = ['apple', 'banana','pear']
    for i in range(len(fruit_list)):
        print(i, fruit_list[i]) 
    '''输出:
    0 apple
    1 banana
    2 pear
    '''

    二、enumerate函数

    enumerate函数用于将各种迭代器(如列表、元组或字符串)包装为生成器,生成器每次产生一对输出值,前者表示循环下标,后者表示从迭
    代器中获取到的下一个序列元素。一般用在 for 循环当中。
    需要知道当前元素在列表中的索引,推荐用enumerate代替range,代码便于简洁和易理解。

    语法:

    enumerate(sequence, [start=0])

    参数:

    sequence: 一个序列、迭代器或其他支持迭代对象。
    start:下标起始位置。

    使用例子:

    fruit_list = ['apple', 'banana','pear']
    for i,fruit in enumerate(fruit_list):
        print(i, fruit) 
    '''输出:
    0 apple
    1 banana
    2 pear
    '''
    for i,fruit in enumerate(fruit_list, 1):
        print(i, fruit) 
    '''输出:
    1 apple
    2 banana
    3 pear
    '''

    三、zip函数

    zip函数可以把两个或两个以上的迭代器封装为生成器,以便稍后求值。
    生成器会从每个迭代器中获取下一个值,然后把这些值汇聚成元组。

    语法:

    zip([iterable, ...])

    参数:

    iterabl:一个或多个迭代器

    使用例子:

    index_list = [0, 1, 2, 3, 4]
    fruit_list = ['apple', 'banana','pear']
    
    for index,fruit in zip(index_list,fruit_list):
        print(index,fruit)
    '''输出:
    0 apple
    1 banana
    2 pear
    '''
    
    d = dict(zip(index_list,fruit_list))
    print(d)
    '''转换为字典,输出:
    {0: 'apple', 1: 'banana', 2: 'pear'}
    '''
  • 相关阅读:
    华为云DevCloud为开发者提供高效智能的可信开发环境
    【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!
    在modelarts上部署mask-rcnn模型
    独立物理机和虚拟机比较有什么优势?
    .Net Core下使用MQTT协议直连IoT平台
    解惑Python模块学习,该如何着手操作...
    sar命令,linux中最为全面的性能分析工具之一
    窥探日志的秘密
    Debian 如何使用测试版更新软件包到最新的版本
    如何使用vsphere client 克隆虚拟机
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11503564.html
Copyright © 2020-2023  润新知