सूची में ज़िप कैसे करें


91

मैं निम्नलिखित सूचियों की सूची तैयार करना चाहता हूं:

>>> zip([[1,2], [3,4], [5,6]])
[[1,3,5], [2,4,6]]

इसे वर्तमान zipकार्यान्वयन के साथ तभी प्राप्त किया जा सकता है जब सूची को व्यक्तिगत घटकों में विभाजित किया जाए:

>>> zip([1,2], [3,4], [5,6])
   (1, 3, 5), (2, 4, 6)]

सूची को विभाजित करने और व्यक्तिगत तत्वों को पास करने के तरीके का पता नहीं लगा सकते zip। एक कार्यात्मक समाधान पसंद किया जाता है।

जवाबों:


146

इसे इस्तेमाल करे:

>>> zip(*[[1,2], [3,4], [5,6]])
[(1, 3, 5), (2, 4, 6)]

अनप्लग करें सूची देखें :

रिवर्स स्थिति तब होती है जब तर्क पहले से ही एक सूची या टपल में होते हैं, लेकिन अलग-अलग स्थितीय तर्कों की आवश्यकता वाले फ़ंक्शन कॉल के लिए अनपैक करने की आवश्यकता होती है। उदाहरण के लिए, अंतर्निहित सीमा () फ़ंक्शन अलग-अलग प्रारंभ और तर्कों को रोकने की अपेक्षा करता है। यदि वे अलग से उपलब्ध नहीं हैं, तो एक सूची या ट्यूपर से तर्क को अनपैक करने के लिए * -ऑपरेटर के साथ फ़ंक्शन कॉल लिखें:

>>> range(3, 6)             # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args)            # call with arguments unpacked from a list
[3, 4, 5]

4
यह कैसे काम करता है, इसके लिए docs.python.org/tutorial/… देखें ।
अमीर

2
यदि आपके पास एक लाख प्रविष्टियों वाली सूची है, तो मैं एक विकल्प देखना चाहता हूँ। फ़ंक्शन कॉल में एक लाख आइटम को अनपैक करना एक अच्छा विचार नहीं हो सकता है ...
Blixt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.