Питон двумерный массив случайных чисел

Генераторы списков для матричных операций. Примеры

Генераторы списков удобно использовать для матриц (многомерных массивов) чисел заданной размерности. Матрицы можно представлять в виде кортежей или списков.
Лучше матрицы представлять в виде вложенных списков. В наиболее общем случае, представление двумерной матрицы в виде списка на языке Python имеет следующий вид

MatrixName = [ [ a11, a12, . a1n ], [ a21, a22, . a2n ], . [ am1, am2, . amn ] ]
  • MatrixName – имя матрицы;
  • a11 , …, amn — элементы матрицы. Это могут быть числа, числа с плавающей запятой, символы, строки, логические значения ( true , false ). Также это могут быть более сложные объекты, например, те же списки, кортежи или множества.

Именно генераторы списков являются наиболее удобными для обработки матриц любой размерности, поскольку они позволяют автоматически сканировать строки и столбцы матриц.

2. Примеры решения задач с использованием генераторов списков
2.1. Задачи на построение матриц
2.1.1. Построение матрицы заданной размерности. Элементы матрицы формируются случайным образом

Условие задачи. Построить матрицу заданной размерности m*n и вывести ее на экран. Элементы матрицы формируются случайно и имеют значение от 1 до 10 включительно.

# Генераторы списков # Задача. # Сформировать матрицу размерностью m*n, # где m, n вводяться с клавиатуры. # 1. Подключить модуль random для формирования # случайных чисел import random # 2. Ввести размерность матрицы m = input('m = ') n = input('n = ') # 3. Сформировать матрицу размером m*n. # Значения элементов матрицы формируются # случайным образом в пределах [1, 10]. Matrix = [ [ random.randint(1, 11) for j in range(n)] for i in range(m) ] print('Matrix:') # 4. Вывести результат for i in range(m): print(Matrix[i])
m = 4 n = 5 Matrix: [10, 2, 3, 8, 7] [6, 9, 2, 7, 11] [2, 5, 9, 10, 4] [10, 10, 11, 5, 10]
2.1.2. Формирование двумерной матрицы заданной размерности. Элементы матрицы вводятся с клавиатуры

Условие задачи. Сформировать матрицу размерностью m×n . Значение размеров m , n и значения элементов вводятся с клавиатуры.

# Генераторы списков # Задача. # Сформировать матрицу размером m*n, # где m, n вводятся с клавиатуры. # Элементы матрицы вводятся с клавиатуры. # 1. Ввести размерность матрицы m = input('m = ') n = input('n = ') # 2. Сформировать матрицу размером m*n. # Значения элементов матрицы вводятся с клавиатуры. Matrix = [ [ input("M["+str(i)+"]["+str(j)+"] color: #ff9900;">for j in range(n) ] for i in range(m) ] # 3. Вывести результат print('Matrix:') for i in range(m): print(Matrix[i])
m = 2 n = 3 M[0][0]=1 M[0][1]=2 M[0][2]=3 M[1][0]=4 M[1][1]=5 M[1][2]=6 Matrix: [1, 2, 3] [4, 5, 6]
2.2. Задачи на обработку данных, которые размещаются в матрице
2.2.1. Вычисление количества элементов матрицы, которые больше 5

Условие задачи. Построить матрицу целых чисел размерностью m×n, где m — количество строк матрицы, n — количество столбцов матрицы. Значения m и n вводятся с клавиатуры. Числа в матрице формируются случайным образом и находятся в пределах от 1 до 10. Используя генератор списков вычислить количество элементов матрицы, которые более 5.

# Генераторы списков # Задача. # Построить матрицу целых чисел заданной размерности m * n. # С помощью генератора случайных чисел вычислить # кол-во элементов матрицы, которые более 5. # 1. Подключить модуль random import random # 2. Ввод размеров матрицы m = input("m color: #ff0000;"># количество строк n = input("n color: #ff0000;"># количество столбцов # 3. Формирование матрицы размером m*n случайным образом # с помощью цикла for Matrix = [] # Внешний цикл формирования матрицы Matrix for i in range(m): # Создать строку матрицы в виде списка row = [] # Внутренний цикл формирования строки row for j in range(n): # Сформировать случайное число від 1 до 10 randNumber = random.randint(1, 11) # Добавить случайное число к списку row row.append(randNumber) # Добавить строку row к матрице Matrix Matrix.append(row) # 4. Вывести сформированную матрицу Matrix для контроля print('Matrix M:') for i in range(m): print(Matrix[i]) # 5. С помощью генератора списков вычислить количество элементов, которые больше 5 count = len([ Matrix[i][j] for i in range(m) for j in range(n) if Matrix[i][j]>5 ]) print(count)
m = 3 n = 4 Matrix M: [10, 4, 3, 4] [3, 3, 10, 2] [11, 9, 1, 4] 4
2.2.2. Задача. Исчисление суммы элементов матрицы согласно условию

Условие задачи. Задан двумерный массив целых чисел размером m×n. Определить сумму элементов массива, которые находятся в пределах [5; 10]. Элементы массива вводятся с клавиатуры.

Читайте также:  Php file exists null

При формировании генератора списка для расчета суммы используется функция sum() .

# Генераторы списков # Задача. # Вычислить сумму элементов матрицы, находящихся в диапазоне [5; 10]. # Размер матрицы m, n и значения элементов вводятся с клавиатуры. # 1. Ввести размерность матрицы m = input('m = ') n = input('n = ') # 2. Сформировать матрицу размером m*n. # Значения элементов матрицы вводятся с клавиатуры. Matrix = [ [ input("M["+str(i)+"]["+str(j)+"] color: #ff9900;">for j in range(n) ] for i in range(m) ] # 3. Вычислить сумму - использовать генератор списков summ = sum( Matrix[i][j] for i in range(m) for j in range(n) if (Matrix[i][j]>=5)and(Matrix[i][j]<=10)) print("summ color: #333300;">⇑ 
2.3. Задачи на создание новых матриц на основе заданных
2.3.1. Создать третью матрицу C на основе двух матриц A, B

Условие задачи. Заданы две матрицы A, B вещественных чисел. Размерность матриц m×n. Используя генератор списков сформировать третью матрицу C, каждый элемент cij которой определяется по правилу

cij = aij + bij

Решение.

# Генераторы списков # Задача. # На основе матриц A, B сформировать третью матрицу C. # 1. Подключить модуль random для формирования случайных чисел import random # 2. Ввести размерность матриц A, B m = input('m = ') n = input('n = ') # 3. Сформировать матрицы A и B размером m*n. # Значения элементов матриц генерируются случайным образом # и находятся в пределах [ 1; 100] A = [ [random.randint(1, 101) for j in range(n)] for i in range(m) ] B = [ [random.randint(1, 100) for j in range(n)] for i in range(m) ] # 4. Сформировать третью матрицу C C = [ [ A[i][j]+B[i][j] for j in range(n) ] for i in range(m) ] # 5. Вывести матрицу A для контроля print('-------------------------') print("A:") for i in range(m): print(A[i]) # 6. Вывести матрицу B для контроля print('B:') for i in range(m): print(B[i]) # 7. Вывести матрицу C print('C:') for i in range(m): print(C[i])
m = 4 n = 6 ------------------------- A: [91, 25, 72, 95, 53, 97] [14, 53, 36, 66, 36, 48] [78, 57, 69, 97, 51, 39] [42, 47, 53, 47, 21, 34] B: [48, 73, 25, 13, 92, 22] [45, 56, 95, 64, 43, 89] [43, 44, 11, 29, 82, 32] [95, 87, 33, 90, 67, 79] C: [139, 98, 97, 108, 145, 119] [59, 109, 131, 130, 79, 137] [121, 101, 80, 126, 133, 71] [137, 134, 86, 137, 88, 113]
2.3.2. Создать результирующую матрицу на основе исходной согласно с заданным условием

Условие задачи. Задана квадратная матрица A целых чисел размерностью n . На основе матрицы A образовать матрицу B , каждый элемент которой определяется по правилу:

Для получения результирующей матрицы B использовать генератор списка.

# Генераторы списков # Задача. # На основе матрицы A создать матрицу B согласно правилу: # B[i][j] = A[i][j] + 10 # 1. Подключить модуль random для формирования случайных чисел import random # 2. Ввести размерность матрицы A m = int(input('m = ')) n = int(input('n = ')) # 3. Сформировать матрицу A размером m*n # Значения элементов матрицы генерируются случайным образом # и находятся в пределах [ -10; 10] A = [ [random.randint(-10, 11) for j in range(n)] for i in range(m) ] # 4. Вывести матрицу A для контроля print('-------------------------') print("A:") for i in range(m): print(A[i]) # 5. Формирование матрицы B с помощью генератора списка B = [ [ A[i][j]+10 for j in range(n) ] for i in range(m) ] # 6. Вывести результирующую матрицу B print("B:") for i in range(m): print(B[i])
m = 3 n = 5 ------------------------- A: [-4, 10, -5, 2, -6] [10, -3, 5, 10, -7] [7, -9, -3, -3, 11] B: [6, 20, 5, 12, 4] [20, 7, 15, 20, 3] [17, 1, 7, 7, 21]

Связанные темы

Источник

Создать двумерный список с случайными числами

Необходимо создать двумерный список 5*5, заполненный случайными значениями от 0 до 3.
Постоянно, как ни попытаюсь, выходит что-то типа
[[1, 1, 1, 2, 0], [1, 1, 1, 2, 0], [1, 1, 1, 2, 0], [1, 1, 1, 2, 0], [1, 1, 1, 2, 0]]
Т.е. числа в каждой новой строке повторяются. А так быть не должно.

for i in range(5): for k in range(5): a[i][k] = random.randint(0, 3)

Создать список из десяти элементов. Заполнить его случайными числами из промежутка от 20 до -50. Вывести этот список
Создать список из десяти элементов.Заполнить его случайными числами из промежутка от 20 до -50.

Cоздать двумерный список 10х10, заполнить случайными числами от 1 до 1000, найти самое маленькое число в нем
Cоздать двумерный список 10х10, заполнить случайными числами от 1 до 1000. Найти самое маленькое.

Заполнить двумерный массив случайными числами
Дан двумерный массив 5 х 5. Определите наибольшее и наименьшее числа в массиве и их координаты. .

Создать двумерный массив размером n * m, заполненный случайными числами
Само задание:Создать двумерный массив размером n * m, заполненный случайными числами. 1.

Источник

Создание массива со случайными значениями Numpy в Python

Чтобы создать массив numpy определенной формы со случайными значениями в Python, используйте rand() с формой массива, переданной в качестве аргумента.

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

Синтаксис

Где, d0, d1, d2, .. – размеры в каждом измерении массива.

Например, numpy.random.rand (2,4) означает двумерный массив формы 2×4. И numpy.random.rand (51,4,8,3) означает 4-мерный массив формы 51x4x8x3.

Функция возвращает массив numpy с указанной формой, заполненный случайными значениями с плавающей запятой от 0 до 1.

Пример 1: создание одномерного массива

Чтобы создать одномерный массив numpy со случайными значениями, передайте длину массива функции rand().

В этом примере мы создадим одномерный массив numpy длиной 7 со случайными значениями для элементов.

import numpy as np #numpy array with random values a = np.random.rand(7) print(a)
[0.92344589 0.93677101 0.73481988 0.10671958 0.88039252 0.19313463 0.50797275]

Пример 2

Чтобы создать двумерный массив numpy со случайными значениями, передайте требуемую длину массива по двум измерениям в функцию rand().

В этом примере мы создадим двумерный массив numpy длиной 2 в измерении-0 и длиной 4 в измерении-1 со случайными значениями.

import numpy as np #numpy array with random values a = np.random.rand(2,4) print(a)
[[0.20499018 0.07289246 0.94701953 0.42017761] [0.66925148 0.53029125 0.70718627 0.36887072]]

Пример 3

Чтобы создать трехмерный массив numpy со случайными значениями, передайте длины по трем измерениям массива в функцию rand().

В этом примере мы создадим трехмерный массив чисел длиной 4, 2, 3 по трем измерениям со случайными значениями.

import numpy as np #numpy array with random values a = np.random.rand(4,2,3) print(a)
[[[0.78239285 0.77998473 0.29194015] [0.23218306 0.0828319 0.55339258]] [[0.20713848 0.67568804 0.5708645 ] [0.28212859 0.11966318 0.39348758]] [[0.63716278 0.33080523 0.33078874] [0.11114847 0.75312359 0.17301032]] [[0.88010661 0.03097883 0.38684319] [0.97854578 0.87874426 0.71835589]]]

В этом руководстве на примерах Python мы создали несколько массивов разных размеров со случайными значениями, используя функцию numpy.random.rand().

Источник

Двумерный массив с Rand-омным заполнением

Подскажите, пожалуйста, как реализовать данный код на Python-е?
А то рыскаю по теме массивов в Пайтоне и что-то не могу найти.
Т.е важно в не одномерном массиве заполнить всё рандомом и в цикле.
И ещё - выводить это переходя на новую строку когда строка заканчивается.
В Шарпе это делает операция Console.WriteLine(); при выходе из вложенного цикла (в котором строка заполнилась).
Я не студент, это не задание какое-то. Для себя учу, это всё важные моменты как базис.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { int h = 7; int w = 7; // Объявляем двумерный массив int[,] myArr = new int[h, w]; Random ran = new Random(); // Инициализируем данный массив for (int i = 0; i  h; i++) { for (int j = 0; j  w; j++) { myArr[i, j] = ran.Next(1, 15); Console.Write("\t", myArr[i, j]); } Console.WriteLine(); } Console.ReadLine(); } } }

Источник

Оцените статью