Я пытаюсь узнать больше о функциях Python, переведя R-код, отмечая различные подходы. В R-конкатенации есть правило утилизации, если строки кратно друг другу, оценщик будет перерабатывать меньший объект, чтобы он соответствовал длине большего. Вот пример:Операции по переработке в Python, аналогичные R-векторизации
lttrs <- c("A", "B", "C")
lbl <- "pct"
users <- c(1,2)
Если бы я хотел, чтобы объединить эти три объекта, чтобы получить "Apct1" "Bpct1" "Cpct1" "Apct2" "Bpct2" "Cpct2"
. Я могу повторить последний объект users
в два раза длиннее первой и R будет выяснить все остальное:
user_indx <- rep(users, each=length(lttrs))
paste0(lttrs, lbl, user_indx)
#[1] "Apct1" "Bpct1" "Cpct1" "Apct2" "Bpct2" "Cpct2"
я смог перевести rep(users, each=length(lttrs))
вызов:
import numpy as np
lttrs = ['A', 'B', 'C']
lbl = ['pct']
users = [1,2]
print np.repeat(users, len(lttrs))
[1 1 1 2 2 2]
Я изо всех сил двигаться дальше оттуда.
бы вы должны использовать 'join', чтобы получить окончательный вывод' [ "Apct1" "Bpct1" "Cpct1" "Apct2" "Bpct2" "Cpct2"] '? –
@PierreLafortune Да, или вы можете вручную объединить. Обратите внимание, что любой список, который не содержит строк, должен быть преобразован (здесь я использовал 'map') – qwr
Спасибо. Он по-прежнему дает результат с 'print', а не' list'. Если я сохраняю этот вывод для использования в дальнейших операциях, как я могу сохранить вывод в новую переменную? –