zoukankan      html  css  js  c++  java
  • 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'}
    '''
  • 相关阅读:
    POJ 1811 Prime Test 素性测试 分解素因子
    sysbench的安装与使用
    电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案
    I.MX6 show battery states in commandLine
    RPi 2B Raspbian system install
    I.MX6 bq27441 driver porting
    I.MX6 隐藏电池图标
    I.MX6 Power off register hacking
    I.MX6 Goodix GT9xx touchscreen driver porting
    busybox filesystem httpd php-5.5.31 sqlite3 webserver
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11503564.html
Copyright © 2011-2022 走看看