美文网首页Python学习营Python
python之enumerate()函数

python之enumerate()函数

作者: 小迷糊仙 | 来源:发表于2020-06-30 16:17 被阅读0次

    在python中,迭代是获取元素本身,而非元素索引,那么,假如针对有序集合,想要获得元素索引,怎么办呢?
    方法是,使用enumerate()函数:

    例如:['a','b','c','d'],求输出结果为:
    0:a
    1:b
    2:c
    3:d

    此时可以使用enumerate()函数,实际上enumerate()函数将该list变成了类似:
    [(0,'a'),(1,'b'),(2,'c'),(3,'d')]
    因此,迭代的实际是一个tuple

    L=['a','b','c','d']
    for x in enumerate(L):
        index =x[0]  
        name = x[1]
        print(index,':',name)
    
    执行结果:
    0 : a
    1 : b
    2 : c
    3 : d
    

    如果我们知道每个tuple包含两个元素,可以进一步简写为:

    for index,name in enumerate(L):
         print(index,':',name)
    

    拓展
    以上例题,可以用另外一种方法实现
    思路:利用zip()和range()结合实现
    已知:zip()可将两个list变成一个,如:zip([0,1,2,3],['A','B','C','D']),输出结果为:[(0,'A'),(1,'B'),(2,'C'),(3,'D')]

    L = ['a', 'b', 'c', 'd']
    for index, name in zip(range(1,5),L):
        print index, ':', name
    
    输出结果:
    1 : a
    2 : b
    3 : c
    4 : d
    

    相关文章

      网友评论

        本文标题:python之enumerate()函数

        本文链接:https://www.haomeiwen.com/subject/uyexqktx.html