列表生成式:List Comprehensions,是python中非常非常简单但却最常用的一个功能。
根据名字就能知道,列表生成式所返回的应该是list类型,它能用最简单最易懂的写法生成所需要的列表。
例:我需要得到1-100这个list的所有数的平方所组成的一个list。此时可以用for循环:
a = [] for value in range(1, 101): a.append(value * value) print(a)
此时得到的a就是1-100中每个数的平方所组成的数组。这个方法很简单,但是使用列表生成式更简单。
a = [value * value for value in range(1,101)] print(a)
得到的a与上一个方法中的a一摸一样。
在 a = [value * value for value in range(1,101)] 中,value * value是一个表达式,value这个数来源于表达式后面的for循环,for循环每循环一次,就计算一次表达式,最后将for循环中每次循环的数的计算结果都保存在一个列表中。最后赋值给a。
在列表生成式中,也可以使用多次循环。比如:
a = [x * y for x in range(1,3) for y in range(3,5)] print(a)
生成结果为:
[3, 4, 6, 8]
range(1,3)为[1, 2], range(3,5)为[3,4],x来自range(1,3),y来自range(3,5)
结果为:1*3, 1*4, 2*3, 2*4
此外,还可以在列表生成式中增加条件判断:
a = [value * value for value in range(1, 11) if value % 2 == 0] print(a) #结果为: [4, 16, 36, 64, 100]
在for循环后面给value值增加条件选择。此例子是计算1-10中偶数的平方
相关推荐
本文实例讲述了Python列表推导式与生成器用法。分享给大家供大家参考,具体如下: 1. 先看两个列表推导式 def t1(): func1 = [lambda x: x*i for i in range(10)] result1 = [f1(2) for f1 in func1] print ...
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。... 您可能感兴趣的文章:Python列表推导式与生成器用法分析Python3中的列表生成式、生成器与迭代器实例详解pyt
主要介绍了Python列表生成式与生成器操作,结合实例形式分析了Python列表生成式与生成器的功能、使用方法及相关操作技巧,需要的朋友可以参考下
这是一个简单的例子,但是使用列表生成式可以更简洁地创建这个列表。 squares = [x**2 for x in range(10)] 这个最简单的列表生成式由方括号开始,方括号内部先是一个表达式,其后跟着一个for语句。列表生成式...
跟列表生成式一样,字典生成式用来快速生成字典,不同的是,字典需要两个值 #d = {key: value for (key, value) in iterable} d1 = {'x': 1, 'y': 2, 'z': 3} d2 = {k: v for (k, v) in d1.items()} print(d2) ...
主要介绍了Python列表推导式与生成器表达式用法,简单描述了Python列表推导式与生成器表达式的概念、功能,并结合具体实例形式分析了Python列表推导式与生成器表达式简单使用技巧,需要的朋友可以参考下
本文实例讲述了python生成器推导式用法。分享给大家供大家参考,具体如下: 1.生成器推导式是继列表推导式后的有一中python推导式,他比列表推导式速度更快,占用的内存也更少。 2.使用生成器对象时,可以根据需要将...
本文主要介绍Python中列表生成式的基本知识和使用 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1×1, 2×2...
本文实例讲述了python生成器用法。分享给大家供大家参考,具体如下: 1. 生成器 利用迭代器,我们可以在每次迭代获取数据...第一种方法很简单,只要把一个列表生成式的 [ ] 改成 ( ) In [15]: L = [ x*2 for x in r
主要介绍了Python3中的列表生成式、生成器与迭代器,结合实例形式详细分析了Python3列表生成式、生成器与迭代器相关概念、功能、使用方法及操作注意事项,需要的朋友可以参考下
本文实例讲述了Python列表推导式、字典推导式与集合推导式用法。分享给大家供大家参考,具体如下: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据...
l = [x * 2 for x in range(10)] # 列表生成式 g = (x * 2 for x in range(10)) print(l,g) # l打印的是一个列表,g则是一个generator的内存地址 一次性打印获取generator的所有元素: for index in g: print...
生成器推导式(generator expression)的用法与列表推导式非常相似,在形式上生成器推导式使用圆括号(parentheses)作为定界符,而不是列表推导式所使用的方括号(square brackets)。 与列表推导式最大的不同是,...
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, ...
Python 基础题 输入输出列表 生成随机数 求和 文件读写 main函数式编程 if else for random模块使用方法
列表生成式 即创建列表的方式,最笨的方法就是写循环逐个生成,前面也介绍过可以使用range()函数来生成,不过只能生成线性列表,下面看看更为高级的生成方式: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25...
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。...列表推导式可以使用复杂表