पहली सूची पर इकट्ठा हों, दूसरी सूची पर आवेदन करें
मेरे पास दो सूचियाँ हैं. पहली सूची L1={z,x,y,x,x,y} है और दूसरी सूची L2={a,b,c,d,e,f} है जिसमें सभी तत्व अलग-अलग हैं। मैं {{x,x,x},{y,y},{z}} पाने के लिए पहली सूची इकट्ठा करना चाहता हूं और फिर {{b,d,e},{c, पाने के लिए इसे दूसरी सूची पर लागू करना चाहता हूं। च},{ए}}. क्या यह आसानी से किया जा सकता है?
दिया गया है,
इससे आपको विभाजन मिलता है:
मैं मानता हूं कि आपका अपेक्षित परिणाम आकार (अवरोही) के अनुसार क्रमबद्ध है, इसलिए यह होगा :
@march द्वारा उल्लिखित सॉर्टिंग अस्पष्टता को देखते हुए, शायद आप आकार के आधार पर नहीं बल्कि L1 में आइटम के आधार पर वर्णानुक्रम में सॉर्ट करना चाहते थे। यदि ऐसा है...
यह पता चलता है कि प्रत्येक मामले में परिणाम समान है।
कई विकल्प हैं। यहां कुछ हैं:
सभी उपज
यदि ऑर्डर मायने नहीं रखता है, तो कोड के सॉर्टिंग भागों को हटा दें।
एक और संभावना:
{{{x, x, x}, {y, y}, {z}}, {{b, d, e}, {c, f}, {a}}}
{{x , एक्स, एक्स}, {वाई, वाई}, {z}}
{{बी, डी, ई}, {सी, एफ}, {ए}}
{{ए}, {बी, डी, ई}, {सी , एफ}}
{{बी, डी, ई}, {सी, एफ}, {ए}}
मैं पूरी तरह से यह निर्दिष्ट नहीं करने के लिए माफी चाहता हूं कि क्या महत्वपूर्ण है। दो सूचियों को देखते हुए
L1 = {z, x, w, x, x, w};
L2 = {a, b, c, d, e, f};
मैं चाहता हूं कि L1 को किसी विशेष क्रम में समतुल्य वर्गों में विभाजित किया जाए, L2 को उसी तरह विभाजित किया जाए:
Lv = L2[[#]] & /@ मान[PositionIndex[L1]]
Lv को {{a}, {b, d, e}, {c, f}} के रूप में देता है जो बिल्कुल ठीक है, जब तक कि मैं इसके तत्वों को जोड़ सकता हूं L1 जो L2 के प्रत्येक तत्व के अनुरूप है, जैसे:
Lk = Keys[PositionIndex[L1]]
जो Lk को {z,x,w} के रूप में देता है।
मैंने इसे चुना विधि केवल इसलिए क्योंकि यह (मेरे लिए) अधिक सहज है। आपकी मदद के लिए आप सभी को धन्यवाद, मुझे एसोसिएशन के बारे में और अधिक जानने की जरूरत है।