Python 列出从1到100万的数字,然后使用for循环打印这些数字

Python 列出从1到100万的数字,然后使用for循环打印这些数字,python,python-3.x,Python,Python 3.x,我正在做一个练习,这是Eric Matthes写的一本叫做Python速成班的书。我试着将此作为可能的解决方案: millions= list(range(1,1000001)) for million in range: print(million) 但是,我得到了这个错误: 回溯最近的调用上次:文件 消耗性_exerciseloop.py,第5行,英寸 对于范围内的百万:TypeError:“type”对象不可编辑 请注意,范围是一个函数,而不是一个可数。因此,它需要论证。查看此

我正在做一个练习,这是Eric Matthes写的一本叫做Python速成班的书。我试着将此作为可能的解决方案:

millions= list(range(1,1000001))
for million in range:

    print(million)
但是,我得到了这个错误:

回溯最近的调用上次:文件 消耗性_exerciseloop.py,第5行,英寸 对于范围内的百万:TypeError:“type”对象不可编辑


请注意,范围是一个函数,而不是一个可数。因此,它需要论证。查看此资料了解更多信息:

请注意,范围是一个函数,而不是一个iterable。因此,它需要论证。查看此资料以了解更多信息:

您正在寻找此资料:

list=np.arange(1,1000001,1).tolist()
for i in list:
    print(i)
已编辑,以便实际使用列表


np.arangea,b,c创建一个数组,该数组以c步间隔从a到b-1,然后我将其转换为一个列表。

您正在查找以下内容:

list=np.arange(1,1000001,1).tolist()
for i in list:
    print(i)
已编辑,以便实际使用列表

np.arangea,b,c创建一个数组,该数组以c步间隔从a到b-1,然后我将其转换为一个列表。

您想这样做吗

millions= range(1,1000001)
for million in millions:
    print(million)
Range将在运行时生成列表,因此无需尝试将其设置为列表

真正发生在引擎盖下的是,每次你要求一个量程时,量程都会产生一个值。所有的值都不会存储在任何地方

你想做什么

millions= range(1,1000001)
for million in millions:
    print(million)
Range将在运行时生成列表,因此无需尝试将其设置为列表

真正发生在引擎盖下的是,每次你要求一个量程时,量程都会产生一个值。所有的值都不会存储在任何地方

范围是一个生成器。如果您实际上不需要为项目编制索引,那么应该避免构建一个包含一百万个项目的占用内存的列表。为了迭代range生成的一百万个项目,您可以简单地使用For循环来迭代生成器:

for i in range(1, 1000001):
    print(i)
范围是一个发电机。如果您实际上不需要为项目编制索引,那么应该避免构建一个包含一百万个项目的占用内存的列表。为了迭代range生成的一百万个项目,您可以简单地使用For循环来迭代生成器:

for i in range(1, 1000001):
    print(i)

如果您搜索短语Python for range示例,您会发现可以比我们在此处的答案中更好地解释它的资源。如果您搜索短语Python for range示例,您会发现可以比我们在此处的答案中更好地解释它的资源。只提供代码是可以接受的,但是,答案更有用,而且当他们另外解释为什么它解决了最初的问题,以及为什么它可能比其他现有答案更可取时,往往会被社区认可。但更重要的是,这基本上是一年前提供的答案的完全重复。请确保在提交您自己的答案之前查看其他答案。只有代码和链接的答案最好作为评论,而不是答案。虽然这段代码可能会解决OP的问题,但最好包括关于代码如何解决OP问题的解释。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。高质量、自足、完整的答案更有可能被提升,这也是SO平台的一些优势,使其区别于论坛。您可以通过编辑添加解释,并用源文档补充您的推理。SO平台的一个优势在于用户可以选择有用的答案和评论。另一方面,重复已经存在的答案会降低该平台的实用性,这与传统论坛不同。由于这篇文章没有添加任何新的或有用的内容,它很可能会被否决,甚至可能会被删除。向上投票有用的响应是免费的、慷慨的、有回报的,并帮助用户为他们的用例找到最佳解决方案。也不需要重新发明轮子:-只提供代码是可以接受的,但是答案更有用,而且当他们另外解释为什么它解决了原始问题,以及为什么它可能比其他现有答案更可取时,社区往往会认可答案。但更重要的是,这基本上与一年前给出的答案完全相同。请确保在提交您自己的答案之前查看其他答案。只有代码和链接的答案最好作为评论,而不是答案。虽然这段代码可能会解决OP的问题,但最好包括关于代码如何解决OP问题的解释。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。高质量、自足、完整的答案更有可能被提升,这也是SO平台的一些优势,使其区别于论坛。您可以通过编辑添加解释,并用源文档补充您的推理。SO平台的一个优势在于用户的支持
投票选出有用的答案和评论。另一方面,重复已经存在的答案会降低该平台的实用性,这与传统论坛不同。由于这篇文章没有添加任何新的或有用的内容,它很可能会被否决,甚至可能会被删除。向上投票有用的响应是免费的、慷慨的、有回报的,并帮助用户为他们的用例找到最佳解决方案。也不需要重新发明轮子:-虽然你的回答很有用,但最好还是作为对OP问题的评论,因为它没有指出他们的代码将如何修改以使其工作。请编辑以添加实现建议所需的代码。或者考虑删除,将其添加为注释。因此,答案通常需要包括被视为竞争答案的代码。从好的方面来说,您已经包含了一个很好的解释和一个源链接,这也是回答与评论/建议的区别元素。自足、完整的答案和清晰的解释最有可能被推翻。虽然你的回答很有用,但最好还是作为对OP问题的评论,因为它没有说明他们的代码将如何修改以使其工作。请编辑以添加实现建议所需的代码。或者考虑删除,将其添加为注释。因此,答案通常需要包括被视为竞争答案的代码。从好的方面来说,您已经包含了一个很好的解释和一个源链接,这也是回答与评论/建议的区别元素。自足的、完整的答案,加上清晰的解释,最有可能被提升