چگونه رشتههای خالی را از یک لیست رشتهای حذف کنیم؟
How to remove empty strings from a list of strings?
یه لیست از رشتهها دارم که توش چندتا رشته خالی هم وجود داره. چطور میتونم این رشتههای خالی رو از لیستم حذف کنم و یه لیست تمیز داشته باشم؟
برای حذف رشتههای خالی از یه لیست رشتهای توی پایتون، چندتا روش ساده و کاربردی وجود داره. یکی از روشهای معمول اینه که از لیست کامپرهنشن (List Comprehension) استفاده کنی. این روش هم کد سادهای داره و هم کارایی خوبی داره. برای مثال، اگه یه لیست مثل این داشته باشی:
my_list = ["apple", "", "banana", "", "cherry"]
میتونی رشتههای خالی رو به راحتی حذف کنی و یه لیست جدید بدون رشتههای خالی بسازی:
cleaned_list = [string for string in my_list if string]
در این کد، هر رشتهای که توی لیست اصلی وجود داره، اگه خالی نباشه (یعنی طولش صفر نباشه)، توی لیست جدید قرار میگیره.
اگه بخوای همون لیست اصلی رو بدون رشتههای خالی کنی، میتونی کد رو اینطوری بنویسی:
my_list = [string for string in my_list if string]
با این روش دیگه رشتههای خالی توی لیست اصلی نخواهند بود.
اگه بخوای از روشهای دیگه استفاده کنی، مثلاً با استفاده از تابع filter، میتونی این کار رو انجام بدی:
cleaned_list = list(filter(None, my_list))
این کد هم دقیقاً همون کار رو انجام میده و رشتههای خالی رو حذف میکنه.