2012-11-22 2 views
2

모든 채소를 표시하려면 어떻게 필터합니까? 미리 감사드립니다.라켓/스킴 필터링

("Pecan" . (1982 .("nut". "AL"))) 

("Blackberry" . (2004 .("fruit". "AL"))) 

("Peach" . (2006 .("fruit". "AL"))) 

("Rice" . (2007 .("grain". "AR"))) 

("Orange" . (2005 .("fruit". "FL"))) 

("Huckleberry" . (2000 .("fruit". "ID"))) 

("Blackberry" . (2004 .("fruit". "KY"))) 

("Strawberry" . (1980 .("fruit". "LA"))) 

("WildBlueberry" . (1991 .("fruit". "ME"))) 

("BlueCrab" . (2000 .("food". "MD"))) 

("HoneycrispApple" . (2006 .("fruit". "MN"))) 

("Pumpkin" . (2000 .("fruit". "NH"))) 

("Chile" . (1965 .("vegetable". "NM"))) 

("Blueberry" . (2001 .("fruit". "NC"))) 

("ChokeCherry" . (2007 .("fruit". "ND"))) 

("WaterMelon" . (2007 .("vegetable". "OK"))) 

("Pear" . (2000 .("fruit". "OR"))) 

("Hazelnut" . (2000 .("nut". "OR"))) 

("Peach" . (1984 .("fruit". "SC"))) 

("Tomato" . (2003 .("fruit". "TN"))) 

("Jalapeno" . (1995 .("vegetable". "TX"))) 

("Apple" . (2000 .("fruit". "WA"))) 

답변

2

팩 (아래 코드에서 lst라고도 함) 하나의리스트 내의 모든 요소가 그것에이 필터 실행

(filter (lambda (x) (string=? "vegetable" (caddr x))) 
     lst) 

=> '(("Chile" 1965 "vegetable" . "NM") 
    ("WaterMelon" 2007 "vegetable" . "OK") 
    ("Jalapeno" 1995 "vegetable" . "TX")) 
+1

내가 저를 얻을 필요 정확히! 정말 감사를 시작한 – CSE