2011-10-27 17 views
6

ज़िप मानचित्रण के बजाय दो सूचियों पाने के लिए:पिन दो सूचियों

(zipmap ["a","b","c"] ["c","d","e"]) = {"c" "e", "b" "d", "a" "c"} 

मैं दूसरी सूची के पहले तत्व के साथ पहली सूची के पहले तत्व जोड़ करना चाहते हैं और इसलिए प्राप्त करने के लिए:

("ce","bd","ac") 

या विपरीत क्रम में।

उत्तर

12

आप map के साथ ऐसा कर सकते हैं। map एकाधिक संग्रह ले सकता है, यह प्रत्येक संग्रह से अगला तत्व लेता है और उन्हें पहले तर्क के रूप में पारित समारोह में पास करता है (जब संग्रह में से कोई एक समाप्त हो जाता है)। तो आप एक ऐसे फ़ंक्शन में जा सकते हैं जो एन तर्क और एन संग्रह लेता है।

अभिव्यक्ति

(map str ["a" "b" "c"] ["c" "d" "e"]) 

,, के साथ "एक" और "सी" str पहले फोन करेगा तो साथ "सी" और "ई" तो साथ "बी" और "डी"। str कर सकते हैं तर्क यह संग्रह के किसी भी संख्या के साथ इस्तेमाल किया जा सकता के परिवर्तनशील लेता है के बाद से परिणाम

("ac" "bd" "ce") 

हो जाएगा। चार संग्रह में पासिंग, जैसे

(map str ["a" "b" "c"] ["d" "e" "f"] ["g" "h" "i"] ["j" "k" "l"]) 

का मूल्यांकन करेंगे

("adgj" "behk" "cfil") 
+9

या '(मानचित्र str [" एक "" बी "" सी "] [" सी "" डी "" ई "]) करने के लिए ' –

+0

अच्छा जवाब। यह जानने के लिए निर्भर करता है कि नक्शा एकाधिक संग्रहों से कैसे निपटता है, जो हमेशा ट्यूटोरियल्स में शामिल नहीं होता है। –

+0

@ ब्रायन: धन्यवाद, पाठ का उत्तर देने के लिए इसे जोड़ा गया। –

संबंधित मुद्दे