कैसे 'pythonic-ly', मैं इस बारी है:सूचियों की सूची tuples की सूची के लिए, पुनर्क्रमित
[[x1,y1], [x2,y2]]
में: एक zip
और खोल ऑपरेटर
[(x1,x2),(y1,y2)]
कैसे 'pythonic-ly', मैं इस बारी है:सूचियों की सूची tuples की सूची के लिए, पुनर्क्रमित
[[x1,y1], [x2,y2]]
में: एक zip
और खोल ऑपरेटर
[(x1,x2),(y1,y2)]
का प्रयोग करें।
>>> l = [['x1','y1'], ['x2','y2']]
>>> zip(*l)
[('x1', 'x2'), ('y1', 'y2')]
परीक्षण मामले देने में अधिक मामला संभाला।
यदि सूची में आइटम हैं जो अलग-अलग लंबाई हैं।
In [19]: a
Out[19]: [[1, 2], [3, 4], [5, 6], [7, 8, 9]]
In [20]: import itertools
In [21]: b = itertools.izip_longest(*a)
In [22]: list(b)
Out[22]: [(1, 3, 5, 7), (2, 4, 6, 8), (None, None, None, 9)]
@ भार्गवराव: अद्यतन उत्तर, और किसने उत्तर दिया, जवाब भी दे सकता है और मुझे बता सकता है कि क्या कोई समस्या है :) –
@ भार्गव राव: क्या आप समझा सकते हैं कि '*' काम कर रहा है या कुछ लिंक जो '*' बताते हैं? –
@ विवेक आप यहां '*' ऑपरेटर के बारे में अधिक जान सकते हैं https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists –
इस तथ्य के अलावा कि यह प्रश्न विशेष रूप से 'ज़िप' से लाभान्वित है टुपल्स की एक सूची लौटते हुए, आमतौर पर 'ज़िप (* एक्स)' को 'एक्स' के मैट्रिक्स ट्रांसपोज़ के रूप में माना जा सकता है। जो उन लोगों के लिए उपयोगी है जिन्होंने बहुत सारे रैखिक बीजगणित किए हैं और इसलिए स्वाभाविक रूप से प्रश्नकर्ता के आवश्यक पुन: आदेश को पारदर्शिता के रूप में सोचते हैं। –