بررسی خالی بودن لیست در پایتون
در این آموزش کوتاه، نحوه بررسی خالی بودن لیست در پایتون را بیابید. ما همچنین بررسی می کنیم که چرا باید این کار را انجام دهید تا هدف را بهتر درک کنید.
# چطور بررسی کنیم که یک لیست پایتون خالی است؟
لیست های خالی در پایتون False در نظر گرفته می شوند، بنابراین اگر لیست به عنوان آرگومان ارسال شود، تابع bool() مقدار False را برمی گرداند. روش های دیگری که می توانید برای بررسی خالی بودن یک لیست استفاده کنید، قرار دادن آن در داخل یک دستور if، استفاده از متدهای len() یا مقایسه آن با یک لیست خالی است.
هنگامی که با لیست ها سر و کار دارید، یکی از ویژگی های اصلی که اکثر توسعه دهندگان از آن استفاده می کنند تکرارپذیری(iterability) آن است. این بدان معنی است که شما می توانید از طریق مقادیر موجود در لیست تکرار کنید و آن را برای حلقه ها به ویژه برای حلقه for استفاده کنید. این همچنین هنگام کار با رشته ها و عملیات عددی نیز مفید است. و از این رو، این یک تمرین خوب است که قبل از ادامه، بررسی کنید که آیا یک لیست خالی است یا خیر.
این برای همه تکرارپذیرها مانند دیکشنری ها، تاپل ها و غیره صادق است.
با وجود این موضوع، اجازه دهید به روشهای مختلفی که میتوان برای بررسی خالی بودن لیست در پایتون استفاده کرد نگاهی بیندازیم.
ویدیو مرتبط: ویدیو آموزش لیست ها در پایتون
+ راه حل اول: استفاده از روش پیشنهادی PEP8
راه حل 1 و 2 از روشی به نام **تست ارزش حقیقت** استفاده می کند. معنای اصلی آن این است که ما با استفاده از مقدار بولی آن لیست، خالی بودن لیست را بررسی می کنیم. این امکان پذیر است زیرا در دنباله های خالی پایتون، آرگومان ها حاوی 0 مقدار یا با طول 0، همگی نادرست در نظر گرفته می شوند. شما می توانید بیشتر در مورد این در اینجا بخوانید.
به دلیل این روش، ما می توانیم بررسی کنیم که آیا یک لیست در پایتون خالی است یا خیر. و در زیر پایتونیک ترین راه برای بررسی همان است.
l1 = ["Hire", "the", "top", "1%", "freelancers"]
l2 = []
if l2:
print("list is not empty")
else:
print("list is empty")
#Output: "list is empty"
از آنجایی که یک لیست خالی False است، شرط نادرست است و از این رو می توانیم یک لیست خالی را شناسایی کنیم. می توانید شرایط را با l1 تغییر دهید.
یکی دیگر از روش های رایج با مفهوم not است.
sl1 = ["Hire", "the", "top", "1%", "freelancers"]
l2 = []
if not l2:
print("list is empty")
else:
print("list is not empty")
# Output: "list is empty"
این یک رویکرد مشابه است، اما ما از یک not در حلقه استفاده می کنیم. این مقدار را معکوس می کند و از این رو شرط درست می شود. این روش برای افزایش خوانایی استفاده می شود زیرا یک توسعه دهنده می تواند کد مورد نظر را در زیر else تایپ کند.
ویدیو پیشنهادی: ویدیو شرط if در پایتون
+ راه حل دوم: استفاده از متد ()bool
مشابه روش اول، با استفاده از تابع bool() بررسی می کنیم که آیا یک لیست خالی است. تابع bool() مقدار بولی یک شی یعنی true یا false را برمی گرداند. کد نیز بسیار شبیه به روش اول است. انتخاب بین این دو روش به یک انتخاب شخصی ختم می شود.
l1 = ["Hire", "the", "top", "1%", "freelancers"]
l2 = []
if bool(l2):
print("list is empty")
else:
print("list is not empty")
# Output: "list is empty"
و از آنجایی که مقدار false است، چاپ زیر else برگردانده می شود.
ویدیو پیشنهادی: ویدیو آموزش حلقه for در پایتون
+ راه حل سوم: استفاده از ()len
در این راه حل، از len() برای بررسی خالی بودن یک لیست استفاده می کنیم، این تابع طول آرگومان ارسال شده را برمی گرداند. و با توجه به اینکه طول یک لیست خالی 0 است، می توان از آن برای بررسی خالی بودن لیست در پایتون استفاده کرد.
در اینجا دوباره دو تکنیک وجود دارد که می توان از آنها استفاده کرد. روش اول بر اساس آزمون ارزش حقیقت است، 0 نادرست در نظر گرفته می شود.
l1 = ["Hire", "the", "top", "1%", "freelancers"]
l2 = []
if len(l2):
print("list is not empty")
else:
print("list is empty")
# Output: "list is empty"
در اینجا از آنجایی که len() لیست l2 برابر 0 است، نادرست در نظر گرفته می شود و از این رو شرط خروجی را تحت else برمی گرداند.
در روش های دیگر، از یک شرط برای مقایسه طول لیست با 0 استفاده می کنیم. اگرچه این روش بسیار شبیه به روش اول است، اما عمدتاً برای کمک به بهبود خوانایی استفاده می شود.
l1 = ["Hire", "the", "top", "1%", "freelancers"]
l2 = []
if len(l2) == 0:
print("list is empty")
else:
print("list is not empty")
# Output: "list is empty"
و چون شرط درست است، اولین مقدار را برمی گرداند.
مقاله پیشنهادی: ساخت برنامه todo با جنگو و react
# نتیجه گیری
همانطور که مشاهده کردید چندین راه وجود دارد که از طریق آنها می توانید خالی بودن لیست در پایتون را بررسی کنید. و این تمرین خوبی است که قبل از استفاده از این شرایط و سپس استفاده از حلقه های if یا for خود، این کار به کاهش خطاهای ناخواسته کمک می کند.
و اینکه کدام راه حل بهترین انتخاب است، باز هم به دانش شما از زبان خلاصه می شود. اگر مبتدی هستید، پیشنهاد میکنم از روشهایی با len()== 0 استفاده کنید، زیرا ساده و قابل خواندن است. اگر مسلط هستید می توانید از راه حل های 1 یا 2 استفاده کنید اما باز هم توصیه می کنم از راه حل not l2 استفاده کنید زیرا خواناتر است.