TheBrain نشر 19 يناير 2016 أرسل تقرير نشر 19 يناير 2016 لدي القائمة التالية:l = [[1,2,3],[4,5,6],[7,8,9]] وأريد أن أنقل أماكن عناصر القوائم لتكون كالتالي:r = [[1,4,7],[2,5,8],[3,6,9]] وليست كالتالي (باستخدام zip):r = [(1,4,7),(2,5,8),(3,6,9)] فما الطريق الصحيحة لفعل ذلك؟ جربت استخدام zip (كما في المثال السابق)لكنني لم أنجح. اقتباس
0 هشام رزق الله نشر 19 يناير 2016 أرسل تقرير نشر 19 يناير 2016 يوجد طرق عديدة لنقل عناصر القوائم بهذا الشكل، ويمكنك استخدام zip أيضا لفعل ذلك بطريقة أخرى وذلك عن طريق استخدام دالة حلقة التكرار map معها كما في المثال التالي:map(list, zip(*l)) --> [[1, 4, 7], [2, 5, 8], [3, 6, 9]] وبالنسبة لمستخدم الإصدار الثالث من بايثون فيمكنهم استخدام هذا السطر:list(map(list, zip(*l))) أما إذا لم ترد استخدام zip نهائيا فهنالك حلول أخرى، مثل استخدام numpy مع دوال أخرى كما في المثال التالي:>>> numpy.asarray(l).T.tolist() [[1, 4, 7], [2, 5, 8], [3, 6, 9]] أو يمكنك استخدام دالتي map كما في المثال التالي:>>> map(list,map(None,*l)) [[1, 4, 7], [2, 5, 8], [3, 6, 9]] اقتباس
السؤال
TheBrain
لدي القائمة التالية:
وأريد أن أنقل أماكن عناصر القوائم لتكون كالتالي:
وليست كالتالي (باستخدام zip):
فما الطريق الصحيحة لفعل ذلك؟ جربت استخدام zip (كما في المثال السابق)لكنني لم أنجح.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.