我有一個大的多列數據文件的選擇,但對於這個問題,它可以簡化爲:映射一個列表上的第二列表
data = {{"a", 2000}, {"a", 2010}, {"b", 1999}, {"b", 2004}, {"b",
2006}, {"c", 2012}, {"c", 2014}};
然後我有一個項目清單,我想從數據中提取的年份,例如:
selectedList = {"b", "c"};
我可以通過選擇[],然後通過迭代selectedList做到這一點:
Table[
Select[data, #[[1]] == selectedList[[i]] &][[All, 2]],
{i, 1, Length[selectedList]} ]
但是我想使用Map,它應該比Table快。我可以這樣做:
func[dat_, x_] := Select[dat, #[[1]] == x &][[All, 2]]
然後:
func[data, #] & /@ selectedList
我正在尋找一種更優雅的方式一步到位做到這一點,最好是直接映射選擇到selectedList
謝謝!正是我在找的案例或選擇,但不是表格:-) – BlueMac