Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 一次生成100个数字,将其列为一个列表,并将其添加到一个空列表中_Python_Python 3.x - Fatal编程技术网

Python 一次生成100个数字,将其列为一个列表,并将其添加到一个空列表中

Python 一次生成100个数字,将其列为一个列表,并将其添加到一个空列表中,python,python-3.x,Python,Python 3.x,我需要从1-500中生成100个数字并将其附加到空列表中,但我不知道如何修复代码。当我打印它时,它的末尾有一个标记。当我用len函数计算a时,它只表示1,所以它并没有真正地加上100个数字 a = [] import random print("original: \n") for x in range(100): nums = random.randint(1,501) b = print(nums, end=" ") a.append(b) print(a) print(l

我需要从1-500中生成100个数字并将其附加到空列表中,但我不知道如何修复代码。当我打印它时,它的末尾有一个标记。当我用len函数计算a时,它只表示1,所以它并没有真正地加上100个数字

a = []
import random
print("original: \n")
for x in range(100):
    nums = random.randint(1,501)
    b = print(nums, end=" ")

a.append(b)
print(a)
print(len(a))

我相信这就是你要找的
print
不返回任何内容,您不能将
print
添加到列表中。事实上,不清楚为什么需要两个变量

import random

a = []

for x in range(100):
    a.append(random.randint(1,501))

print(' '.join(map(str, a)))

print(len(a))
避免循环的替代解决方案使用
numpy
库:

import numpy as np

a = np.random.randint(1, 501, 100)
如果绩效是一个问题;e、 g.对于许多大型随机列表;以下是使用
random
的基准测试与有效的基于列表的解决方案:

import numpy as np
import random

%timeit np.random.randint(1, 501, 100)        # 5.97 µs
%timeit random.choices(range(1, 501), k=100)  # 66.3 µs

我相信这就是你要找的
print
不返回任何内容,您不能将
print
添加到列表中。事实上,不清楚为什么需要两个变量

import random

a = []

for x in range(100):
    a.append(random.randint(1,501))

print(' '.join(map(str, a)))

print(len(a))
避免循环的替代解决方案使用
numpy
库:

import numpy as np

a = np.random.randint(1, 501, 100)
如果绩效是一个问题;e、 g.对于许多大型随机列表;以下是使用
random
的基准测试与有效的基于列表的解决方案:

import numpy as np
import random

%timeit np.random.randint(1, 501, 100)        # 5.97 µs
%timeit random.choices(range(1, 501), k=100)  # 66.3 µs

在python-3.6上,您可以使用该函数的返回值,并通过该值扩展
a

a.extend(random.choices(range(1, 501), k=100))
尽管如此,如果您从一个空列表开始,并且在此步骤之前没有添加任何内容,那么只需将
a
初始化为

a = random.choices(range(1, 501), k=100)
之前不进行任何空列表初始化

如果您使用的是较旧版本的python,请在循环中使用

a.extend(random.randint(1, 500) for _ in range(100))  
或者

或者

a = []
for _ in range(100):
    a.append(random.randint(1, 500))

从文档中,我相信上限是包含在内的(因此,
500

在python-3.6上,您可以使用并通过此函数的返回值扩展
a

a.extend(random.choices(range(1, 501), k=100))
尽管如此,如果您从一个空列表开始,并且在此步骤之前没有添加任何内容,那么只需将
a
初始化为

a = random.choices(range(1, 501), k=100)
之前不进行任何空列表初始化

如果您使用的是较旧版本的python,请在循环中使用

a.extend(random.randint(1, 500) for _ in range(100))  
或者

或者

a = []
for _ in range(100):
    a.append(random.randint(1, 500))
从文档中,我相信上限是包含在内的(因此,
500

这将返回一个随机数,因此复数名称“nums”在这里会产生误导

b = print(nums, end=" ")
print
函数打印一些东西,在本例中是生成的数字,但它本身没有返回值。因此
b
将是
None

a.append(b)
理论上,这可以将生成的编号附加到列表中。但是,正如我们所确定的,
b
None
,因此这将在列表中追加
None
。此外,这一行在循环之外,因此它只运行一次,并且只添加100个数字中的一个

您应该这样做:

a = []
for x in range(100):
    num = random.randint(1,501)
    a.append(num)

print(a)
print(len(a))
您也可以在此处使用列表理解,使其更简单:

a = [random.randint(1, 501) for x in range(100)]
print(a)
print(len(a))
这将产生相同的结果

您还可以使用它自己已经能够生成具有指定大小的随机数列表。所以这也同样有效:

a = random.choices(range(1, 501), k=100)
这将返回一个随机数,因此复数名称“nums”在这里会产生误导

b = print(nums, end=" ")
print
函数打印一些东西,在本例中是生成的数字,但它本身没有返回值。因此
b
将是
None

a.append(b)
理论上,这可以将生成的编号附加到列表中。但是,正如我们所确定的,
b
None
,因此这将在列表中追加
None
。此外,这一行在循环之外,因此它只运行一次,并且只添加100个数字中的一个

您应该这样做:

a = []
for x in range(100):
    num = random.randint(1,501)
    a.append(num)

print(a)
print(len(a))
您也可以在此处使用列表理解,使其更简单:

a = [random.randint(1, 501) for x in range(100)]
print(a)
print(len(a))
这将产生相同的结果

您还可以使用它自己已经能够生成具有指定大小的随机数列表。所以这也同样有效:

a = random.choices(range(1, 501), k=100)

您的代码是正确的,只是有一个小错误,那就是您没有缩进
a.append(nums)
,这样就超出了
for
循环的范围。请尝试以下代码:)


您的代码是正确的,只是有一个小错误,那就是您没有缩进
a.append(nums)
,这样就超出了
for
循环的范围。请尝试以下代码:)

函数的作用是:只生成一个随机数。您可以在for循环中生成100次随机数,并在列表中进行SimulationSoly追加,因此当在for循环之外时,列表“a”具有100个随机数,这可以通过length len()函数进行验证

我还附上了输出的屏幕截图

a = []
import random
print("original: \n")
for x in range(100):
  nums = random.randint(1,501)
  a.append(nums)

print("Numbers : " , a)
print("Length : " , len(a))

randint()函数只生成一个随机数。您可以在for循环中生成100次随机数,并在列表中进行SimulationSoly追加,因此当在for循环之外时,列表“a”具有100个随机数,这可以通过length len()函数进行验证

我还附上了输出的屏幕截图

a = []
import random
print("original: \n")
for x in range(100):
  nums = random.randint(1,501)
  a.append(nums)

print("Numbers : " , a)
print("Length : " , len(a))

print
函数返回
None
。您应该在for循环中执行
a.append(nums)
,您可以摆脱
b=
,只需执行
print(nums,end=“”)
您可以这样在一行中执行:
a=[random.randint(1500)for uu范围内(100)]
。这被称为列表理解。@Laire,以下解决方案之一解决了您的问题吗?如果是,请随意接受(勾选左侧),以便其他用户知道。
print
函数返回
None
。您应该在for循环中执行
a.append(nums)
,您可以摆脱
b=
,只需执行
print(nums,end=“”)
您可以这样在一行中执行:
a=[random.randint(1500)for uu范围内(100)]
。这被称为列表理解。@Laire,以下解决方案之一解决了您的问题吗?如果是,请随意接受(在左上打勾