NumPy на самом деле не предназначен для смешивания типов контента. Если вам нужен массив строк, пустые значения должны быть не нулевыми, а пустыми строками: ''
Вы можете использовать random.choices()
, чтобы получить случайные значения и назначить, но хитрость заключается в том, чтобы установить dtype для чего-то подходящего для строк: *
import random
import numpy as np
LOC = np.zeros(96, dtype='<U1')
LOC[0] = 'H'
LOC[32:40] = random.choices(['H','W','I'], k = 40 - 32)
Это будет массив пустых строк, за исключением тех случаев, когда вы назначили случайные значения. Обычные списки python, конечно же, работают со смешанными типами. Если вам не нужен NumPy, вы можете инициализировать массив с помощью:
LOC = [0] * 96
, а затем приступить к установке значений с тем, что вы хотите.