Функция выбивает переменную с 3-мя отдельными списками - PullRequest
0 голосов
/ 11 октября 2019

Для программы, которую я пишу, моя цель - вызвать функцию, присвоить ей 2 значения и затем выложить список обратно на основе этих 2 чисел. Вот что у меня есть:

import numpy as np


def list_maker (n, m):
    for n in range(n):

        l = list(np.random.randint(1,9, m))
        print(l)

Моя цель - набрать list_maker (3,5) и вывести 3 списка, каждый из которых содержит 5 элементов. Я хочу продолжать использовать numpy, чтобы узнать больше об этом, а не о другом типе операций. Всякий раз, когда я вызываю функцию my out it,

list_maker(3,5)
[2, 7, 1, 5, 6]
[8, 5, 1, 3, 5]
[8, 2, 6, 3, 7]

Однако я не могу специально изменить один элемент в одном списке, если я выполню l [0] = "Blank", все элементы в позиции 0 повернутсяпустым, и я не могу сделать [0], [1] .... Любая идея, как получить вывод, например,

list_maker(3,5)
[[2, 7, 1, 5, 6],
[8, 5, 1, 3, 5],
[8, 2, 6, 3, 7]]

Где я могу затем специально редактировать один элемент в одном из списковсделано numpy?

Спасибо за все ответы!

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

В данный момент ваша функция просто печатает списки, а не возвращает их.

И я не совсем уверен в твоих намерениях;на данный момент вы создаете не пустой массив, а список. В частности, вы создаете список из 3 списков, а не 3 отдельных списков.

Вы можете создать массив numpy, передав значения n, m непосредственно в randint numpy:

np.random.randint(1,9, size=(n, m))
0 голосов
/ 11 октября 2019

вы хотите вернуть список списков. Будет работать простое понимание списка:

import numpy as np

def list_maker (n, m):
    return [list(np.random.randint(1,9, m)) for _ in range(n)]

тогда:

>>> list_maker(3,5)
[[1, 7, 2, 5, 7], [3, 5, 5, 7, 7], [8, 5, 1, 1, 1]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...