Ненужный случайный выбор кортежей

У меня возникли проблемы с созданием массива случайных вариантов, где выбор является кортежем.

Я получаю ошибку: a must be 1-dimensional

Вот пример:

 choices = ((0,0,0),(255,255,255)) numpy.random.choice(choices,4) 

Есть ли другой способ сделать это?

Ожидаемый результат:

массив numpy, состоящий из 4 элементов, случайно выбранных из кортежа выбора.

 ((0,0,0),(0,0,0),(255,255,255),(255,255,255)) 

2 Solutions collect form web for “Ненужный случайный выбор кортежей”

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

В приведенном примере только количество возможных вариантов влияет на характер выбора, а не на фактические значения (0, 255). Выбор индексов – это choice 1dim, который знает, как обращаться.

 choices = numpy.array([[0,0,0],[255,255,255]]) idx = numpy.random.choice(len(choices),4) choices[idx] 

Просто добавив этот ответ, чтобы дать ответ на non-numpy :

 choices = ((0,0,0),(255,255,255)) from random import choice print tuple(choice(choices) for _ in range(4)) 
  • Создание строки из строки и целого числа в Python
  • случайная итерация в Python
  • Генерирование случайных предложений из пользовательского текста в NLTK Python?
  • Встроенный метод генерации случайных строк фиксированной длины из заданных символов
  • Генерация «случайной» строки из другой строки в python?
  • Как создать случайный UUID, который воспроизводится (с семенем) в Python
  • Почему моя программа не приближается к pi?
  • Как предотвратить повторные случайные значения?
  • Python numpy.random.choice в C # с неравномерным распределением вероятностей
  • Случайность в Jython
  • Лучший способ рандомизировать список строк в Python
  • Python - лучший язык программирования в мире.