网站建设看什么书,ui设计师导航网,网站管理和维护的主要工作有哪些,盐亭网站建设切片 L [1,2,3,4,5,6,7,8,9,0]
L[0:3]
L[-3] 迭代 如果给定一个list或tuple#xff0c;我们可以通过for循环来遍历这个list或tuple#xff0c;这种遍历我们称为迭代#xff08;Iteration#xff09;。 因为dict的存储不是按照list的方式顺序排列#xff0c;所以#xff0…切片 L [1,2,3,4,5,6,7,8,9,0]
L[0:3]
L[-3] 迭代 如果给定一个list或tuple我们可以通过for循环来遍历这个list或tuple这种遍历我们称为迭代Iteration。 因为dict的存储不是按照list的方式顺序排列所以迭代出的结果顺序很可能不一样。 默认情况下dict迭代的是key。如果要迭代value可以用for value in d.values()如果要同时迭代key和value可以用for k, v in d.items()。 列表生成式 列表生成式即List Comprehensions是Python内置的非常简单却强大的可以用来创建list的生成式。 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做方法一是循环 L []for x in range(1, 11): ... L.append(x * x) ... L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 但是循环太繁琐而列表生成式则可以用一行语句代替循环生成上面的list [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 写列表生成式时把要生成的元素x * x放到前面后面跟for循环就可以把list创建出来十分有用多写几次很快就可以熟悉这种语法。 for循环后面还可以加上if判断这样我们就可以筛选出仅偶数的平方 [x * x for x in range(1, 11) if x % 2 0] [4, 16, 36, 64, 100] 生成器 Python中这种一边循环一边计算的机制称为生成器generator。 要创建一个generator有很多种方法。第一种方法很简单只要把一个列表生成式的[]改成()就创建了一个generator L [x * x for x in range(10)]L [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] g (x * x for x in range(10)) g generator object genexpr at 0x1022ef630 创建L和g的区别仅在于最外层的[]和()L是一个list而g是一个generator。 我们可以直接打印出list的每一个元素但我们怎么打印出generator的每一个元素呢 如果要一个一个打印出来可以通过next()函数获得generator的下一个返回。 generator是非常强大的工具在Python中可以简单地把列表生成式改成generator也可以通过函数实现复杂逻辑的generator。 要理解generator的工作原理它是在for循环的过程中不断计算出下一个元素并在适当的条件结束for循环。对于函数改成的generator来说遇到return语句或者执行到函数体最后一行语句就是结束generator的指令for循环随之结束。 请注意区分普通函数和generator函数普通函数调用直接返回结果 r abs(6)r
6generator函数的“调用”实际返回一个generator对象 g fib(6)g
generator object fib at 0x1022ef948 迭代器 可以直接作用于for循环的数据类型有以下几种 一类是集合数据类型如list、tuple、dict、set、str等 一类是generator包括生成器和带yield的generator function。 这些可以直接作用于for循环的对象统称为可迭代对象Iterable。 可以使用isinstance()判断一个对象是否是Iterable对象。 凡是可作用于for循环的对象都是Iterable类型 凡是可作用于next()函数的对象都是Iterator类型它们表示一个惰性计算的序列 集合数据类型如list、dict、str等是Iterable但不是Iterator不过可以通过iter()函数获得一个Iterator对象。 Python的for循环本质上就是通过不断调用next()函数实现的例如 for x in [1, 2, 3, 4, 5]: pass 实际上完全等价于 # 首先获得Iterator对象:
it iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x next(it) except StopIteration: # 遇到StopIteration就退出循环 break 函数式编程 函数是Python内建支持的一种封装我们通过把大段代码拆成函数通过一层一层的函数调用就可以把复杂任务分解成简单的任务这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。 高阶函数 变量可以指向函数 函数名也是变量转载于:https://www.cnblogs.com/benu/p/6413027.html