问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是迭代,Python入门教程

发布网友 发布时间:2022-05-10 14:21

我来回答

2个回答

懂视网 时间:2022-05-10 18:42

本篇文章给大家带来的内容是关于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

    热心网友 时间:2022-05-10 15:50

    迭代就是把迭代得到的值作为下一次迭代的初始值

    举个栗子,求Fibonaci的数列第n项,这个就是最简单的迭代

    #Fibonaci Sequence
    #f(1) = 1
    #f(2) = 1
    #f(n) = f(n-1) + f(n-2) when(n>2)

    a = 1
    b = 1
    n = 8
    sum = 0
    for i in range(n - 2):
        sum = a + b
        a = b
        b = sum

    print sum

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    提升学历选自考好还是成考好 成考和自考的文凭哪个好 2024年成人自考和成人高考哪个更好 家用净水器滤芯类型有哪些 家用净水器什么滤芯好 请问在VB中如何调用多线程? 交强险理赔后第二年上涨吗? 交强险出一次险第二年保费多出多少? 全家人都爱吃的家常菜目录 丽台Quadro P5000专业图形显卡-购买最佳价格 一个手机号码怎么能申请两个呢?不用手机号码就不能申请微信了吗?谁能告诉我? 一个手机卡号 可以注册两个吗 如何操作? 一个手机号怎么申请第二个? 电脑里的png图片如何压缩 一个手机号怎么申请第二个? 一个手机号怎么申请第二个? 怎样将图片文件压缩导出为png格式? 一个手机号怎么申请第二个? 一个手机号码怎么申请两个? 同一个手机号能注册两个吗?怎么注册? 一个手机号怎么注册两个? 湖南素泊化妆品有限公司怎么样? 素泊清洁面膜用了脸痒怎么办? 一个手机号怎么注册2个 做豆角馅儿的时候,是选择熟豆角还是选择生豆角? 义乌小商品城袜子在几区 去义乌小商品批发城批袜子到哪里下车请指点 请问我想在小商品商场里卖袜子,内裤,手套,毛巾什么的可行吗? 义乌发来的袜子能穿吗? 批发袜子到诸暨大唐还是义乌小商品批发市场便宜? 怎么和好朋友相处? 怎么和刚和好的朋友相处? 怎么样才能和朋友和好。 怎么跟朋友和好? 如何与曾经的好朋友和好? 如何和一个好朋友和好 姨妈颜色偏黑 信号线屏蔽环用法 如何去除电源带来的信号干扰 在高速PCB板上,给高速信号线进行屏蔽时采取什么样的措施比较好? 柴暖排气管温度太高怎么解决 东风小康怠速突然变大,排气管都红了是什么原因? 代练猫提现多久才会到账 代练猫怎么提现不了 代练猫完成大神认证需要完成什么任务? 兰的笔顺 “兰”字的笔顺有几画? 兰字的大写笔顺有几画 兰字的笔划 是多少? &quot;兰”字笔顺是什么,笔画顺序是什么,先 请问(兰)字的繁体字,是多少笔画