如何创建带有随机数的嵌套列表?

How to create nested lists with random numbers?

如果你知道如何解决这个问题,请问:我需要添加嵌套列表,每个列表都有随机生成的数字,但在相同的范围内。如果我 运行 我的代码是这样,它会添加嵌套列表,每个列表的正确长度为 6 个数字,但问题是列表中的所有数字都是相同的!输出是这样的:

[
    [27, 2, 23, 12, 9, 2, 28, 31],
    [27, 2, 23, 12, 9, 2, 28, 31],
    [27, 2, 23, 12, 9, 2, 28, 31],
    [27, 2, 23, 12, 9, 2, 28, 31]
]

如何在每次调用 for 循环中的函数时生成新数字?

lottery_numbers = []
numbers_list = []

def num_generator():
   for num in range(0, 2):
      random_number = random.randint(1, 40)
      numbers_list.append(random_number)
      lottery_numbers.append(numbers_list)
  

for number in range(0, 4):
  num_generator()

假设您希望在一个列表中包含 4 个嵌套列表,每个列表的长度为 6...

import random

x = [[random.randint(1,40) for i in range(6)] for i in range(4)]

print(x)
[
    [21, 41, 22, 14, 35, 0], 
    [13, 31, 25, 19, 35, 27], 
    [36, 29, 40, 37, 47, 49], 
    [12, 19, 5, 27, 48, 27]
]

我们使用列表理解迭代 4 次,返回另一个随机生成的列表(嵌套列表组合)

我尽量保留你的代码,但我认为这是你打算做的。

import random

lottery_numbers = []


def num_generator():
    numbers_list = []
    for num in range(0, 6):
        random_number = random.randint(1, 40)
        numbers_list.append(random_number)
    lottery_numbers.append(numbers_list)
  

for number in range(0, 4):
    num_generator()


print (lottery_numbers)

[[39, 8, 3, 35, 20, 11], [30, 38, 37, 22, 18, 8], [24, 13, 3, 20, 15, 24], [33, 24, 2, 38, 9, 14]]