Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;[浮动(n)-50表示范围(100)内的n这有什么用?_Python - Fatal编程技术网

Python &引用;[浮动(n)-50表示范围(100)内的n这有什么用?

Python &引用;[浮动(n)-50表示范围(100)内的n这有什么用?,python,Python,我偶然发现了一句话: [float(n)-50 for n in range(100)] 谁能告诉我它是干什么的?它应该为向量返回一个浮点值 最好的, 马吕斯这是一个“创建一个包含100个元素的列表,这样对于索引n处的每个元素,将该元素设置为n-50”。这是一个: 列表理解提供了创建列表的简明方法。普通的 应用程序将创建新的列表,其中每个元素都是 应用于另一序列或序列的每个成员的某些操作 iterable,或创建满足 一定条件 例如,假设我们要创建一个正方形列表,如: >>>

我偶然发现了一句话:

[float(n)-50 for n in range(100)]
谁能告诉我它是干什么的?它应该为向量返回一个浮点值

最好的, 马吕斯

这是一个“创建一个包含100个元素的列表,这样对于索引
n
处的每个元素,将该元素设置为n-50”。

这是一个:

列表理解提供了创建列表的简明方法。普通的 应用程序将创建新的列表,其中每个元素都是 应用于另一序列或序列的每个成员的某些操作 iterable,或创建满足 一定条件

例如,假设我们要创建一个正方形列表,如:

>>> squares = []
>>> for x in range(10):
...     squares.append(x**2)
...
>>> squares 
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
我们可以通过以下方法获得相同的结果:

squares = [x**2 for x in range(10)]
这也相当于
squares=map(λx:x**2,范围(10))
, 但它更简洁易读

其含义与:

[float(x) for x in range(-50, 50)]
或者(至少在Python 2中):

如果您知道列表理解或
映射
函数的工作原理,这是不言自明的:它们将整数范围
-50…50
转换为浮点列表(上限50是独占的)。结果如下:

[-50.0, -49.0 ... 49.0]

如果您将其存储在一个列表变量中,然后打印,您可以很容易地看到该模式。您运行过几次吗?它看起来像什么?然后你用更简单的等价物替换了一些部件,然后。。。?没有太多的理由不尝试与良好的REPL的可用性;没有编译什么的。(同时,仔细阅读编写良好的Python语言文档会让您学到很多。)也许您应该告诉作者,这相当于
map(float,range(-50,50))
,可读性更强。@NiklasB。如果我喜欢的话。这是一个答案;这是一个评论。我只是想鼓励大家在一个非常适合的环境中玩耍。这是一个非常糟糕的问题,因为它是“这[含糊不清的东西]做什么”而不是“X做什么”。问题需要分解成碎片,这是一种通过实践学习的技能。@pst:我想你的评论是错的:我不是指你的评论。我是向OP建议这一点的,他似乎不是该代码的作者:)我完全支持你的建议,只是尝试一下并在REPL中使用它。更像:创建元素列表为float(n)-50,其中n从0到100我喜欢“我的”解释,因为它从左到右读取代码所说的内容
[-50.0, -49.0 ... 49.0]