R, get(s)
işlevi, s
karakter değişkeni (vektör) içinde kayıtlı olan sembolün değerini alır.python karşılığı get() in R (= sembol değerini almak için))
X <- 10
r <- "XVI"
s <- substr(r,1,1) ## "X"
get(s) ## 10
Romen rakamıyla r
ilk sembolünü alır ve onun tamsayı eşdeğer çevirir.
R-Python sözlükleriyle uğraşırken ve "meta programla", "dilde programlama", "sembol", "dize" vb. Çeşitli kombinasyonlarını gözden geçirirken bir şeye rastlamadım. (Ben çok deneyimli bir R kullanıcısı ve acemi bir Python kullanıcısıyım.)
(Yukarıdaki örnekteki problemi çözmek için çok (çok) kötü bir yol olduğunu biliyorum. Bu sorunun genel cevabı ile ilgileniyorum. değil özellikle tamsayılar için Roma rakamlarını dönüştürülmesinde ...)
Sadece bildiğiniz gibi, eğer Romen rakamlarının dönüşümünü yapacak olsaydınız, muhtemelen bir sözlük sahibi olmanızın en iyisi olacaktır r = {'M': 1000, 'D': 500, 'C': 100 , 'L': 50, 'X': 10, 'V': 5, 'I': 1} 've sadece' r ['X'] '. – mbomb007
evet, bunu biliyordum ... teşekkürler. (Her ne kadar değer sıralamasında yinelemeyi sağlayabilmek için bir sözlükte * sıralı bir * analog olması da yararlı olacaktır ...) –
Bunu neden yapmak istiyorsunuz? Genellikle daha iyi yollar vardır ... :) – ikdc