2016-05-19 22 views
2

私は、このリストのpythonでの組のリスト理解に相当するのだろうか?Pythonの[x [y] for x、y in zip(i、j)]のR相当ですか?

i = [[1,2,3],[2,3,4],[2,4,2]] 
j = [1,2,0] 
whatineed = [x[y] for x,y in izip(i,j)] 

おそらく、Rに対応するiとjは次のようになりリスト/ベクトル:

i = list(c(1,2,3),c(2,3,4),c(2,4,2)) 
j = c(2,3,1) 

または

何それがないと、J iから与えられたインデックスネストされたリストから特定の要素を抽出しています
j = list(2,3,1) 

あらかじめご協力いただきありがとうございます! Rで

答えて

5

あなたはMap機能を使用します。

i = list(c(1,2,3),c(2,3,4),c(2,4,2)) 
j = c(2,3,1) 

Map(`[`, i, j) 
[[1]] 
[1] 2 

[[2]] 
[1] 4 

[[3]] 
[1] 2 

ます。また、リストの代わりにベクトルを返すmapplyを使用することができます。

mapply(`[`, i, j) 
[1] 2 4 2 
+0

それはトリッキーな質問ですが。私はそれがあなたが望むものに依存していると言います。 @MeredithHu; – Psidom

+4

;あなたが 'Funprog'ヘルプページのすべての機能を見つけたのでその質問をしているのなら、その答えは「めったに」ではありません。それらは、主に機能性のために別のものに依存するのではなく、それらの名前でLisP関数を模倣するため、1つのヘルプページにまとめられています。 –

+0

@Psidom、簡単な拡張の質問:izip(i、j)のx、yの代わりに[x [y:]を指定するとどうなりますか? mapply/Mapで同様に行うことができますか?あまり前もってありがとう! – shenglih

関連する問題