import numpy as np
x = [1,2,3,4,5,6,7,8,9]
y = [11,12,13,14,15,16,17,18,19]
У меня есть список кортежей следующим образом:Произвольно выбрать кортежи из списка: тип ошибки
xy = [(x,y) for x,y in zip(x,y)]
Теперь я хотел случайным образом выбрать 3 позиции/индекс кортежей в списке.
random_indices = np.random.choice(len(xy),3,replace=False)
Здесь я применил индексы для возврата в список выбранных кортежей:
selected_xy = xy[random_indices]
print selected_xy
НО я получил следующее сообщение об ошибке:
Traceback (most recent call last):
File "D:/test.py", line 11, in <module>
selected_xy = xy[random_indices]
TypeError: only integer arrays with one element can be converted to an index
Моя цель заключается в случайным образом выбирать кортежи из список, ожидаемый результат должен выглядеть LIKE следующим образом:
[(1,11),(3,13),(4,14)]
Каков наилучший способ сделать это?
спасибо, что это работает. так что numpy не использует список кортежей? – jean
numpy лучше, так как я работаю с большим массивом в моем реальном случае. – jean
@bercik NumPy преобразует эти кортежи в массивы для поддержки более быстрых операций. Вы можете сделать: 'map (tuple, xy [random_indices])', но это не стоит. –