list_a=[i i for range(5)]是什么写法?为何可以这样写?
今天看到一种写法从来没见过:genre_listings=感觉简洁又好用,我的问题是:
1.为什么可以这样写?
2.工作原理是啥? 本帖最后由 柿子饼同学 于 2021-4-2 19:21 编辑
这是列表推导式,就是可以这么用
和这个是一样的
for index in range(5):
genre_listings.append(index)
不过这之前要创建一个叫genre_listings的列表 这是python所特有的语法,没有为啥 列表推导式,后面还会有一些其他的推导式。这个适合写一些逻辑比较简单的语句,逻辑太复杂的不好写,别人也不好查看 本帖最后由 11点要睡觉 于 2021-4-2 20:37 编辑
不就是python零基础的第十二课的作业题第五题
>>> [ i*i for i in range(10) ]
>>>
列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:
[有关A的表达式 for A in B]
例如
>>> list1 =
>>> list1
相当于
list1 = []
for x in range(10):
list1.append(x**2)
python解析表达式,这也是这两天刚搞明白的 列表推导式 列表推导式,用法如下
List =
迭代可以支持双层,包含两个表达式。
例1>>>List = [ x if x%2 else x+1 for x in rang(10) ]
扩展开后就是这样
List = []
for x in range(10):
if x%2: List.append(x)
else:List.append(x+1)
例1>>>List = List = [ x if x%2 else x+1 for x in rang(A) for A in rang(10) ]
List = []
for A in range(10):
for x in rang(A):
if x%2: List.append(x)
else:List.append(x+1)
页:
[1]