Я работаю на Python, но исходя из R-фона - где, если я хочу взять массив строк x = ['1', '2', '3']
и получить соответствующий массив целых чисел [1, 2, 3]
, естественное, что нужно сделать чтобы запустить что-то вроде int(x)
. Конечно, этот синтаксис не работает, потому что я нахожусь в Python, и функции не являются автоматически векторизованными. Похоже, что я могу использовать NumPy для создания векторизованной версии функций, но это похоже на говорящий Python в очень тяжелом акценте R.Pythonic альтернатива векторизованным функциям R
Looping над содержимым вектора работы
x2 = []
for y in x:
x2.append(int(y))
, но, кажется, не совсем элегантно - это строительство три линии что-то я мог бы сделать в шесть символов в R. Конечно, есть Pythonic способ сделать это более компактным? Или это связано с соответствующими сильными и слабыми сторонами Python против R?
Поиск «питон список понимания» –
Там причина Python называет их «списками», а не «векторы». Numpy - это абсолютно способ пойти, если то, что вы хотите сделать, - это векторизованные числовые операции. – BrenBarn