Решил попробовать питон после с++ и сишарп. Это жесть. Прочитал много инфы, но не могу понять. Как мне заполнить двухмерный список случайными числами от -1 до 1, и вообще, как перебирать двухмерные списки, приемы из си-подобных что-то не работают
Делал так
Val = [[]]
for y in Val:
for x in Val:
Val[x][y] = 2 * np.random.random((3,1)) -1
Вылезает ошибка
TypeError: list indices must be integers or slices, not list
Замена 2 * np.ran....на random.uniform(-1,1) ничего не дает
Python
Заполнить двухмерный список случайными числами python
ты в C++ когда-нибудь с range-based for loop работал?
так вот, сейчас ты пытаешься сделать то же самое
неудивительно, что у тебя ничего не получается
ты ведь всегда можешь перебирать не элементы, а их индексы, используя range(len(Val)) вместо просто Val, хотя с элементами эта задача тоже решается
и да, тут у тебя пустой массив, в нём ничего нету, так что даже при правильно написанном цикле прога тут же завершится
и зачем использовать numpy для получения случайного числа, когда есть random из стандартной библиотеки, мне тоже не совсем понятно
так вот, сейчас ты пытаешься сделать то же самое
неудивительно, что у тебя ничего не получается
ты ведь всегда можешь перебирать не элементы, а их индексы, используя range(len(Val)) вместо просто Val, хотя с элементами эта задача тоже решается
и да, тут у тебя пустой массив, в нём ничего нету, так что даже при правильно написанном цикле прога тут же завершится
и зачем использовать numpy для получения случайного числа, когда есть random из стандартной библиотеки, мне тоже не совсем понятно
Николай Еременко
Спасибо, а как при создании списка объявить количество элементов в каждом из измерений?
Заполнение двумерных матриц А [M][N] случайными числами из [-1;1] происходит так:
import random
M,N=input("M N > ").split(' ')
M=int(M);N=int(N)
A=[[random.uniform(-1,1) for n in range(N)] for m in range(M)]
#теперь можно распечатать весь список оператором print(A) или сделать это немного покрасивше в стиле Си:
for m in range(M):
..for n in range(N):
....print("%7.4f"%(A[m][n]),end='')
..print()
А чтобы субсписки внутри объемлющего их списка были разной длины, а не обязательно только лишь постоянной длины N, как выше, то для всех M элементов главного списка все эти разные длины его подписков тогда ведь придётся специально задавать, причём в каждом отдельном случае - особо!..
import random
M,N=input("M N > ").split(' ')
M=int(M);N=int(N)
A=[[random.uniform(-1,1) for n in range(N)] for m in range(M)]
#теперь можно распечатать весь список оператором print(A) или сделать это немного покрасивше в стиле Си:
for m in range(M):
..for n in range(N):
....print("%7.4f"%(A[m][n]),end='')
..print()
А чтобы субсписки внутри объемлющего их списка были разной длины, а не обязательно только лишь постоянной длины N, как выше, то для всех M элементов главного списка все эти разные длины его подписков тогда ведь придётся специально задавать, причём в каждом отдельном случае - особо!..
[[random.randint(-1,1) for _ in range(10)] for _ in range(10)]
Если нужны числа с точкой, то random.uniform(-1,1)
Если нужны числа с точкой, то random.uniform(-1,1)
https://pastebin.com/raw/TBHwKzx3
создание двумерного списка и заполнение случайными числами.
для работы с двумерными списками много вариантов. либо по конкретным элементам (два цикла for(один вложен в другой)) или просто по индексам с циклом while и переменными, отвечающими за индексы или так же for'ы, но по индексам
создание двумерного списка и заполнение случайными числами.
для работы с двумерными списками много вариантов. либо по конкретным элементам (два цикла for(один вложен в другой)) или просто по индексам с циклом while и переменными, отвечающими за индексы или так же for'ы, но по индексам
Похожие вопросы
- Есть ли способ вывести случайное число не используя модуль random в python
- Проблема с программой типа "список" в Python
- Гладкие числа. Python
- Дружественные числа Python
- Решите уравнение в натуральных числах Python
- Дан список чисел. Нужно посчитать количество их "пар" (т.е. "1 1 1 1 1" = 10, "1 2 3 2 3" = 2 и т.д.) (Python)
- Python Как сделать так чтобы после сгенерированного числа оно не повторялось?
- Работа со списками Python. В одну строку.
- Задача со списками, Python
- Python задача "Игра с числами"