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'}
    '''
  • 相关阅读:
    Intent
    What should we do next in general after collecting relevant data
    NOTE FOR Secure Friend Discovery in Mobile Social Networks
    missing pcap.h
    after building Android Source code
    plot point(one column)
    When talking to someone else, don't infer that is has been talked with others at first. It may bring repulsion to the person who is talking with you.
    进程基本知识
    Python input和raw_input的区别
    强制 code review:reviewboard+svn 的方案
  • 原文地址:https://www.cnblogs.com/gdjlc/p/11503564.html
Copyright © 2011-2022 走看看