From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Oliver Scholz Newsgroups: gmane.emacs.help Subject: Re: alist and multiple values for one key Date: Tue, 21 Jan 2003 11:53:10 +0100 Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1043147029 20096 80.91.224.249 (21 Jan 2003 11:03:49 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 21 Jan 2003 11:03:49 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18awC4-00059Z-00 for ; Tue, 21 Jan 2003 12:03:48 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18aw4D-0002vq-07 for gnu-help-gnu-emacs@m.gmane.org; Tue, 21 Jan 2003 05:55:41 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!dialin-145-254-193-032.arcor-ip.NET!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 32 Original-NNTP-Posting-Host: dialin-145-254-193-032.arcor-ip.net (145.254.193.32) Original-X-Trace: fu-berlin.de 1043146407 25085344 145.254.193.32 (16 [87814]) X-Operating-System: GNU/Linux, built from scratch: http://www.linuxfromscratch.org/ X-Attribution: os X-Face: "HgH2sgK|bfH$; PiOJI6|qUCf.ve<51_Od(%ynHr?=>znn#~#oS>",F%B8&\vus),2AsPYb -n>PgddtGEn}s7kH?7kH{P_~vu?]OvVN^qD(L)>G^gDCl(U9n{:d>'DkilN!_K"eNzjrtI4Ya6;Td% IZGMbJ{lawG+'J>QXPZD&TwWU@^~A}f^zAb[Ru;CT(UA]c& User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.3.50 (i386-mingw-nt5.1.2600) Cancel-Lock: sha1:1iKFngAgk2O5IgUJKhjHYN2oEeI= Original-Xref: shelby.stanford.edu gnu.emacs.help:109294 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:5818 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:5818 ncauderan@hotmail.com (Norbert C.) writes: > Hi, > > I would lile to find the "good way" to retrieve multiple values > for a given key in an alist. > > But I didn't find a natural way to do it. For example : > (setq trees '((pine . cones) (pine . acorns) (oak . acorns) (maple . > seeds))) > ==> ((pine . cones) (pine . acorns) (oak . acorns) (maple . seeds)) > (assoc 'pine trees) > ==> (pine . cones) > > What I'd like is something that returns each value associated with > 'pine. If I don't want to `(require 'cl)' I use something like this: (delq nil (mapcar (lambda (elt) (if (eq (car elt) 'pine) elt nil)) mtrees)) You see this (delq nil (mapcar ... in Emacs' sources at some places, too. Oliver -- 2 Pluviôse an 211 de la Révolution Liberté, Egalité, Fraternité!