TheBrain نشر 16 يناير 2016 لدي القائمة التالية:L= [0, 23, 234, 89, None, 0, 35, 9] وعندما أنفذ عليها هذا السطر:L = filter(None, L) أحصل على النتيجة التالية (لاحظ إزالة الأصفار):[23, 234, 89, 35, 9] فهل توجد طريقة في بايثون لحذف فقط None من السلسلة النصية؟ انشر على الشّبكات الاجتماعية رابط هذه المساهمة
0 هشام رزق الله نشر 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] انشر على الشّبكات الاجتماعية رابط هذه المساهمة
لدي القائمة التالية:
وعندما أنفذ عليها هذا السطر:
أحصل على النتيجة التالية (لاحظ إزالة الأصفار):
فهل توجد طريقة في بايثون لحذف فقط None من السلسلة النصية؟
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة