视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python中迭代相关的简单介绍(附代码)
2020-11-27 14:21:04 责编:小采
文档


本篇文章给大家带来的内容是关于Python中迭代相关的简单介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

迭代相关

  • iter(): 将一个序列转换成迭代器

  • next(): 自动调用对象的__next__()方法来迭代对象

  • map(): 将一个序列值作为参数,依次调用一个函数,在python2中直接返回列表,但在python3中返回迭代器

  • # map经常配合lambdas来使用
    items = [1, 2, 3, 4, 5]
    squared = list(map(lambda x: x**2, items))
    
    # 用于循环调用一列表的函数
    def multiply(x):
     return (x*x)
    def add(x):
     return (x+x)
    
    funcs = [multiply, add]
    for i in range(5):
     value = map(lambda x: x(i), funcs)
     print(list(value))
    
    # Output:
    # [0, 0]
    # [1, 2]
    # [4, 4]
    # [9, 6]
    # [16, 8]
  • filter(): 过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表,在python2中直接返回列表,但在python3中返回迭代器

  • number_list = range(-5, 5)
    less_than_zero = filter(lambda x: x < 0, number_list)
    print(list(less_than_zero)) 
    
    # Output: [-5, -4, -3, -2, -1]
  • enumerate():遍历数据并自动计数,并且有许多有用的可选参数

  • # 配置从哪个数字开始枚举
    my_list = ['apple', 'banana', 'grapes', 'pear']
    for c, value in enumerate(my_list, 1):
     print(c, value)
    
    # 
    输出: (1, 'apple') (2, 'banana') (3, 'grapes') (4, 'pear')
  • for-else
    Python中for循环还有一个else从句,这个else从句会在循环正常结束时执行,因而可以常常搭配break来使用。

  • for item in container:
     if search_something(item):
     # Found it!
     process(item)
     break
    else:
     # Didn't find anything..
     not_found_in_container()

    对象自省

  • dir():返回一个列出了一个对象所拥有的属性和方法的列表,如果不传入参数,那么它会返回当前作用域的所有名字

  • type():返回一个对象的类型

  • id():返回任意不同种类对象的唯一ID

  • 扩展

    functools

  • Reduce()当需要对一个列表进行一些计算并返回结果时,Reduce 是个非常有用的函数。

  • from functools import reduce
    product = reduce( (lambda x, y: x * y), [1, 2, 3, 4] )
    
    # Output: 24

    下载本文
    显示全文
    专题