1.问题 有这么一个小面试题: 看下面代码请回答输出的结果是什么?为什么? result = [lambda x: x + i for i in range(10)] print(result[0](10)) 2.解答 当你看到这篇文章的时候如果不知道这个知识点肯定会拿去直接运行,输出的结果是什么呢? 结果是:19 通过result[0~9](10)结果都是19就,懵逼了吧~~ 想知道这个我们先看几个知识点 2.1.列表生成式 顾名思义,列表生成式就是一个用来生成列表的特定语法形式的表达式. 语…
列表生成式 主要用于生成较为复杂的列表 常用用法 >>> [x * x for x in range(5) if x % 3 !=1 ] [0, 4, 9] #返回除以3余数不为1的数字的平方 两层循环 可以生成全排列: >>> [m + n for m in '123' for n in 'abc'] ['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c'] 实例 运用列表生成式,可以写出非常简洁的代码.例如,列出当…
python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原: res1 = [] for i in range(1,5): res1.append(i) print(res1) 改: res2 = [i for i in range(1,5)] print(res2) 字典生成式 格式 {key:value for 表达式 in 迭代对象 (可加判断)} a = "adasdsasad" b = "asdasdasdg"…