Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”.名字听上去很难理解,但是看它的语法就很清晰了.虽然名字叫做 list comprehension,但是这个语法同样适用于dict.set等这一系列可迭代(iterable)数据结构. 语法规范: out_list = [out_express for out_express in input_list if out_expr…
列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法.它的工作方式类似于for循环,也很简单. 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 举例说明 #!/usr/bin/python # -*- coding: utf-8 -*- li = [1,2,3,4,5,6,7,8,9] print [x**2 for x in li] print [x**2 for…
列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) 列表推导式 推导过程 egg_list = [] for i in range(10): egg_list.append('鸡蛋%s'%i) print(egg_list) print([i*i for i in range(10)]) for循环 生成器表达式 g = (i for i in range(10)) print(g) for i in g: print(i)…
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名>>: ") res="sb" if name == "alex" else "nb" print(res) 函数的递归 函数的递归:函数递归调用,即在函数调用过程中, 又直接或间接的调用了函数本身. 直接调用 def foo():…
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 print([i for i in range(9)]) # 原型 print([i*i for i in range(9)]) egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) # 生成器表达式 g = (i for i in range(10)…
从一个list生成新的list [ word.upper() for word in 'hellO worlD!' ] 简单的语法,如果不用list comprehension, 则要用更长的代码. 返回了一个字符list,可以用 join方法连接成字符串. 字典和集合推导:改个括号就好了 集合 { i for i in range(9)} 字典 {i : i * 2 for i in range(9)} 想着怎么实现过滤功能呢? 毕竟列表生成式是可以取代filter函数的 一.列表生成式 列表…