از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش بررسی خالی بودن لیست در پایتون
سرفصلهای مطلب
معرفی
لیست ها یکی از چهار ساختار داده پرکاربرد هستند که توسط پایتون ارائه شده است. عملکرد، توسعه پذیری و سهولت استفاده آن را برای اجرای انواع مختلف عملکردها مفید می کند.
لیست های پایتون چند ویژگی جالب دارند:
- تغییرپذیری – به این معنی که می تواند تغییر کند، به این معنی که به ما اجازه می دهد به راحتی ورودی های آن را اضافه و حذف کنیم. این تفاوت اصلی بین لیست های پایتون و تاپل ها است
- تکرارپذیری – یعنی ما می توانیم تکرار کردن از طریق آن (تمام عناصر موجود در لیست را به ترتیب مرور کنید)
ویژگی اصلی که تمرکز خواهد بود روی است تکرارپذیری. یک بخش مهم هنگام برخورد با یک شیء تکرارپذیر، در این مورد یک لیست، بررسی اینکه آیا چیزی برای تکرار وجود دارد یا خیر. اگر به درستی مدیریت نشود، می تواند منجر به خطاهای ناخواسته زیادی شود.
پایتون راههای مختلفی برای بررسی خالی بودن یا نبودن لیست ما ارائه میکند، برخی به صورت ضمنی و برخی صریح، و در این مقاله به بررسی آنها میپردازیم. چگونه چک کنیم که آیا لیست پایتون خالی است یا خیر.
استفاده کردن len()
تابع
یکی از تکنیک ها استفاده از len()
عملکردی برای بررسی اینکه آیا لیست ما خالی است یا خیر:
py_list = ()
"""
Here len() returns 0, which is
implicitly converted to false
"""
if len(py_list):
print('The list is not empty')
else:
print('T list is empty')
خروجی
List is empty
چه زمانی len(py_list)
آن را اجرا می کند، صفر را تولید می کند، که سپس به طور ضمنی به مقدار بولی فرستاده می شود False
. بنابراین در صورت وجود لیست خالی، برنامه به بلوک else هدایت می شود.
اگرچه این روش ساده به نظر می رسد، اما برای مبتدیان چندان شهودی نیست.
استفاده کردن len() با اپراتور مقایسه
این تکنیک مشابه روش فوق است اما واضح تر و قابل درک تر است. به همین دلیل کسانی که تازه وارد هستند python یا خود کدنویسی معمولاً آن را شهودی تر می داند:
if len(py_list) == 0:
print('List is empty')
else:
print('List not empty')
در کد بالا، len(py_list) == 0
اگر لیست خالی باشد درست خواهد بود و به بلوک else هدایت می شود. این همچنین به شما امکان می دهد به جای تکیه کردن، مقادیر دیگری را نیز تنظیم کنید روی 0
تبدیل شدن به عنوان False
. تمام مقادیر مثبت دیگر به True
.
مقایسه با لیست خالی
این روش همچنین بسیار ساده است و برای مبتدیان به خوبی کار می کند زیرا شامل مقایسه با یک لیست خالی است:
if py_list == ():
print('List is empty')
else:
print('List is not empty')
در اینجا دوباره از عملیات مقایسه برای مقایسه یک لیست با لیست دیگر استفاده می کنیم – یک لیست خالی، و اگر هر دو خالی باشند، لیست را با هم مقایسه می کنیم if
بلوک اجرا خواهد شد.
سبک پیشنهادی Pep-8
if py_list:
print('List is not empty')
if not py_list:
print('List empty')
برای این، اجازه دهید نگاهی به تست ارزش حقیقت. اسناد رسمی بیان می کنند که:
در اینجا بیشتر اشیاء داخلی نادرست در نظر گرفته می شوند:
- ثابت هایی که به صورت false تعریف شده اند: None و False.
- صفر از هر نوع عددی: 0، 0.0، 0j، اعشاری (0)، کسر (0، 1)
- دنباله ها و مجموعه های خالی: ”، ()، ()، {}، set()، range(0)
از آنجایی که یک لیست خالی در واقع فقط یک مجموعه خالی است، به مقدار بولی تبدیل می شود False
. بنابراین، اگر py_list
خالی است، تبدیل به False
.
بیانیه دوم تقریباً مشابه است، به جز not
یک شرط نادرست را به یک شرط معکوس می کند. این رویکرد بسیار شبیه به if(len(list))
رویکرد.
این رویکرد ترجیحی است زیرا تمیزترین و کوتاه ترین راه حل موجود است.
استفاده کردن bool() تابع
ما همچنین می توانیم استفاده کنیم bool()
تابع برای تأیید خالی بودن لیست:
if bool(py_list):
print('List is not empty')
else:
print('List is empty')
این اساساً یک آزمون ارزش صدق به صورت دستی است. بنابراین اگر لیست خالی نباشد تابع برمی گردد True
و اگر بلوک اجرا شود.
این روش کمتر رایج است زیرا حتی بدون استفاده هم میتوانیم به نتایج دلخواه برسیم bool()
، اما بد نیست بدانید پایتون در زیر هود چگونه کار می کند.
نتیجه
این مقاله همه چیز در مورد راه هایی برای بررسی اینکه آیا ما بود python لیست خالی است یا نه ما با کاوش در تکنیکهای مختلف و در نهایت بررسی پارامترهایی که میتوانیم از آنها برای قضاوت در مورد اینکه کدام تکنیک ممکن است برای ما مفید باشد، استفاده کردیم، شروع کردیم.
نمی توانم بگویم که این پایان است زیرا به روز رسانی های جدید پایتون ممکن است باعث ایجاد سبک های جدید و بهبود یافته کدنویسی شود. پس بهتر است به کاوش ادامه دهید و به یادگیری ادامه دهید.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-14 11:57:03