وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

پایتون: بررسی کنید که آیا آرایه/فهرست حاوی عنصر/مقدار است

0 5
زمان لازم برای مطالعه: 3 دقیقه


معرفی

در این آموزش نگاهی به این خواهیم داشت چگونه بررسی کنیم که آیا یک لیست حاوی عنصر یا مقدار در پایتون است یا خیر. ما از لیستی از رشته ها استفاده خواهیم کرد که شامل چند حیوان است:

animals = ('Dog', 'Cat', 'Bird', 'Fish')

بررسی کنید که آیا لیست حاوی عنصر With for Loop است یا خیر

یک روش ساده و ابتدایی برای بررسی اینکه آیا یک لیست حاوی یک عنصر است یا خیر، و بررسی اینکه آیا آیتم مورد نظر ما روی مطابق با موردی است که ما به دنبال آن هستیم. از a استفاده کنیم for حلقه برای این:

for animal in animals:
    if animal == 'Bird':
        print('Chirp!')

این کد نتیجه خواهد داد:

Chirp!

بررسی کنید که آیا فهرست حاوی عنصر با است یا خیر که در اپراتور

اکنون، یک رویکرد مختصر تر، استفاده از داخلی است in اپراتور، اما با if بیانیه به جای for بیانیه. هنگامی که با if، برمی گردد True اگر عنصری در یک دنباله وجود داشته باشد یا خیر. نحو از in اپراتور به شکل زیر است:

element in list

با استفاده از این عملگر، می‌توانیم کد قبلی خود را در یک عبارت کوتاه کنیم:

if 'Bird' in animals: print('Chirp')

این قطعه کد خروجی زیر را خواهد داشت:

Chirp

این رویکرد همان کارایی را دارد for حلقه، از آنجایی که in اپراتور که به این صورت استفاده می شود، را صدا می کند list.__contains__ تابع، که ذاتاً در لیست حلقه می زند – هرچند، بسیار خواناتر است.

پیشنهاد می‌کنیم بخوانید:  ایجاد ابزارهای خط فرمان با argparse پایتون

بررسی کنید که آیا فهرست حاوی عنصر با است یا خیر نه در اپراتور

در مقابل، ما می توانیم استفاده کنیم not in عملگر که مخالف منطقی است in اپراتور. برمی گردد True اگر عنصر باشد نه در یک سکانس وجود دارد

بیایید مثال کد قبلی را برای استفاده از آن بازنویسی کنیم not in اپراتور:

if 'Bird' not in animals: print('Chirp')

اجرای این کد چیزی تولید نمی کند، زیرا Bird در لیست ما وجود دارد.

اما اگر آن را با یک امتحان کنیم Wolf:

if 'Wolf' not in animals: print('Howl')

این کد نتیجه می دهد:

Howl

بررسی کنید که آیا فهرست حاوی عنصر با لامبدا است یا خیر

روش دیگری که می توانید بررسی کنید که آیا عنصری وجود دارد یا خیر، فیلتر کردن همه چیز غیر از آن عنصر است، درست مانند غربال کردن ماسه و بررسی اینکه آیا پوسته ای در پایان باقی مانده است یا خیر. ساخته شده در filter() متد یک تابع لامبدا و یک لیست را به عنوان آرگومان های خود می پذیرد. ما می توانیم در اینجا از یک تابع لامبدا برای بررسی وضعیت خود استفاده کنیم 'Bird' رشته در animals فهرست

سپس، نتایج را در a می پیچیم list() از آنجا که filter() روش a را برمی گرداند filter موضوع، نه نتایج. اگر بسته بندی کنیم filter شی در یک لیست، حاوی عناصر باقی مانده پس از فیلتر است:

retrieved_elements = list(filter(lambda x: 'Bird' in x, animals))
print(retrieved_elements)

این کد نتیجه می دهد:

('Bird')

اکنون، این رویکرد کارآمدترین نیست. نسبتاً کندتر از سه روش قبلی است که ما استفاده کرده ایم. را filter() خود روش معادل تابع مولد است:

(item for item in iterable if function(item))

کند شدن عملکرد این کد، در میان چیزهای دیگر، از این واقعیت ناشی می شود که ما نتایج را در پایان به یک لیست تبدیل می کنیم و همچنین یک تابع را اجرا می کنیم. روی مورد روی هر تکرار

پیشنهاد می‌کنیم بخوانید:  مرتب سازی رادیکس در پایتون

بررسی کنید که آیا فهرست شامل عنصر استفاده می‌شود یا خیر هر ()

یکی دیگر از رویکردهای داخلی عالی استفاده از آن است any() تابع، که فقط یک تابع کمکی است که وجود دارد یا خیر هر (حداقل 1) نمونه از یک عنصر در یک لیست. برمی گردد True یا False مستقر روی وجود یا عدم وجود یک عنصر:

if any(element in 'Bird' for element in animals):
    print('Chirp')

از آنجایی که این منجر به True، ما print() بیانیه نامیده می شود:

Chirp

این رویکرد همچنین یک روش کارآمد برای بررسی وجود یک عنصر است. به اندازه سه مورد اول کارآمد است.

بررسی کنید که آیا فهرست حاوی عنصر استفاده شده است یا خیر شمردن()

در نهایت می توانیم از count() تابعی برای بررسی وجود یا نبودن یک عنصر:

list.count(element)

این تابع وقوع عنصر داده شده را در یک دنباله برمی گرداند. اگر بزرگتر از 0 باشد، می توان مطمئن بود که یک مورد معین در لیست است.

بیایید نتایج را بررسی کنیم count() تابع:

if animals.count('Bird') > 0:
    print("Chirp")

را count() تابع ذاتاً لیست را حلقه حلقه می کند تا تعداد رخدادها را بررسی کند و این کد نتیجه می دهد:

Chirp

نتیجه

در این آموزش، ما چندین راه را برای بررسی اینکه آیا یک عنصر در یک لیست وجود دارد یا نه، بررسی کرده ایم. ما استفاده کرده ایم for حلقه، in و not in اپراتورها و همچنین filter()، any() و count() مواد و روش ها.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-12 02:47:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید