TheBrain نشر 16 يناير 2016 أرسل تقرير نشر 16 يناير 2016 لدي القائمة التالية:L= [0, 23, 234, 89, None, 0, 35, 9] وعندما أنفذ عليها هذا السطر:L = filter(None, L) أحصل على النتيجة التالية (لاحظ إزالة الأصفار):[23, 234, 89, 35, 9] فهل توجد طريقة في بايثون لحذف فقط None من السلسلة النصية؟ اقتباس
0 هشام رزق الله نشر 16 يناير 2016 أرسل تقرير نشر 16 يناير 2016 يوجد العديد من الطرق لفعل ذلك في لغة بايثون، فإذا كنت تستخدم الإصدار الثاني منه، يمكنك استخدام حلقة التكرار for مع الجملة الشرطية بدلا من filter كما في المثال التالي:>>> L = [0, 23, 234, 89, None, 0, 35, 9] >>> [x for x in L if x is not None] [0, 23, 234, 89, 0, 35, 9] وهنالك طريقة أخرى باستخدام filter لكنني لا أنصح باستخدامها وهي كالتالي:>>> from operator import is_not >>> from functools import partial >>> L = [0, 23, 234, 89, None, 0, 35, 9] >>> filter(partial(is_not, None), L) [0, 23, 234, 89, 0, 35, 9] أما لو كنت تستخدم الإصدار الثالث من بايثون، فيمكنك في هذه الحالة استخدام دوال list وfilter لحذف None كما في المثال التالي:>>> L = [0, 23, 234, 89, None, 0, 35, 9] >>> list(filter(None.__ne__, L)) [0, 23, 234, 89, 0, 35, 9] اقتباس
السؤال
TheBrain
لدي القائمة التالية:
وعندما أنفذ عليها هذا السطر:
أحصل على النتيجة التالية (لاحظ إزالة الأصفار):
فهل توجد طريقة في بايثون لحذف فقط None من السلسلة النصية؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.