列一张从一百万到一百万的数字列表,然后使用for循环打印这些数字

2024-06-16 14:02:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个练习,这本书是Eric Matthes写的,名叫Python Crash Course。我试过这个作为一个可能的解决方案:

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

    print(million)

但是,我得到一个错误:

TTraceback (most recent call last): File "expendable_exerciseloop.py", line 5, in for million in range: TypeError: 'type' object is not iterable


Tags: inmostfor错误rangecrash解决方案list
3条回答

你在找这个:

list=np.arange(1,1000001,1).tolist()
for i in list:
    print(i)

编辑,这样你就可以使用列表了。在

np.arange(a,b,c)创建一个以c步为间隔从a到b-1的数组,然后我把它变成一个列表。在

你想做什么

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

Range已经生成了列表,所以不需要尝试将其作为列表。在

实际上,range()在每次请求时都会生成一个值。所有的值都不会存储在任何地方。在

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

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

相关问题 更多 >