آموزش پایتون - دسترسی به آیتم‌ها

دسترسی به آیتم‌های مجموعه (Set)

روش اصلی برای دسترسی به آیتم‌های یک مجموعه، پیمایش آن با استفاده از یک حلقه مانند حلقه for است. با پیمایش روی مجموعه، می‌توانید به تک‌تک عناصر یکی‌یکی دسترسی داشته باشید و عملیات مورد نظر را روی آن‌ها انجام دهید.

در پایتون، مجموعه‌ها (sets) مجموعه‌هایی بی‌ترتیب از عناصر منحصربه‌فرد هستند و بر خلاف دنباله‌ها (مانند لیست‌ها یا تاپل‌ها)، مجموعه‌ها اندیس موقعیتی برای عناصر خود ندارند. این بدان معناست که شما نمی‌توانید با مشخص کردن اندیس، به عناصر فردی یک مجموعه به صورت مستقیم دسترسی پیدا کنید.

علاوه بر این، مجموعه‌ها مانند دیکشنری‌ها کلیدهای مرتبط با عناصر خود ندارند. در یک دیکشنری، هر عنصر با یک کلید جفت می‌شود که به شما امکان می‌دهد به مقدار مرتبط با یک کلید خاص دسترسی داشته باشید. با این حال، مجموعه‌ها این جفت‌سازی کلید-مقدار را ندارند.

بنابراین، برای دسترسی به عناصر یک مجموعه باید از حلقه for (یا List Comprehension) استفاده کنیم.

دسترسی به آیتم‌های مجموعه با استفاده از حلقه For

حلقه for در پایتون یک دستور کنترل جریان است که برای پیمایش روی یک دنباله و اجرای یک بلوک کد برای هر عنصر در آن دنباله استفاده می‌شود. این حلقه تا زمانی که تمام عناصر پردازش شوند ادامه می‌یابد.

ما می‌توانیم با پیمایش ترتیبی روی هر عنصر در مجموعه، با استفاده از حلقه for به آیتم‌های مجموعه دسترسی داشته باشیم. از آنجا که مجموعه‌ها مجموعه‌هایی بی‌ترتیب از عناصر منحصربه‌فرد هستند، حلقه for روشی مناسب برای پیمایش مجموعه و دسترسی به هر عنصر به صورت تک‌به‌تک فراهم می‌کند.

مثال

در مثال زیر، حلقه for روی مجموعه "langs" پیمایش می‌کند و در هر تکرار، مقدار عنصر جاری به متغیر "lang" اختصاص داده می‌شود −

# Defining a set
langs = {"C", "C++", "Java", "Python"}

# Accessing set items using a for loop
for lang in langs:
   print (lang)

این کد خروجی زیر را تولید خواهد کرد −

Python
C
C++
Java

دسترسی به آیتم‌های مجموعه با استفاده از List Comprehension

درک لیست (List comprehension) روشی کارآمد برای ساخت لیست‌ها در پایتون است. این قابلیت به شما امکان می‌دهد با اعمال یک عبارت روی هر آیتم در یک شیء قابل پیمایش (iterable)، و در صورت تمایل شامل یک شرط برای فیلتر کردن عناصر، یک لیست جدید تولید کنید.

ما می‌توانیم با تبدیل مجموعه به لیست در داخل list comprehension، به آیتم‌های مجموعه دسترسی داشته باشیم. این کار به شما امکان می‌دهد روی عناصر مجموعه پیمایش کرده و عملیاتی مشابه استفاده از حلقه for روی آن‌ها انجام دهید.

مثال

در این مثال، ما از list comprehension برای دسترسی به آیتم‌های مجموعه با پیمایش روی هر عنصر از "my_set" استفاده می‌کنیم −

my_set = {1, 2, 3, 4, 5}
# Accessing set items using list comprehension
accessed_items = [item for item in my_set]
print(accessed_items)

خروجی را به صورتی که در زیر نشان داده شده است دریافت می‌کنیم −

[1, 2, 3, 4, 5]

دسترسی به زیرمجموعه از یک مجموعه

از نظر ریاضی، زیرمجموعه مجموعه‌ای است که تنها شامل عناصری است که در مجموعه دیگری نیز وجود دارند. به عبارت دیگر، هر عنصر از زیرمجموعه، عنصری از مجموعه اصلی نیز هست. اگر هر عنصر از مجموعه A عنصری از مجموعه B نیز باشد، آنگاه A زیرمجموعه‌ای از B در نظر گرفته می‌شود که به صورت A ⊆ B نشان داده می‌شود.

در پایتون، می‌توانید با استفاده از عملیات‌های مجموعه یا با پیمایش روی مجموعه توان (مجموعه همه زیرمجموعه‌ها) و فیلتر کردن بر اساس معیارهای خاص، به زیرمجموعه‌های یک مجموعه دسترسی داشته باشید.

  • با استفاده از عملیات‌های مجموعه − می‌توانید از توابع داخلی مجموعه مانند تابع issubset() استفاده کنید تا بررسی کنید آیا یک مجموعه زیرمجموعه دیگری است یا خیر.

  • پیمایش روی مجموعه توان − روی همه زیرمجموعه‌های ممکنِ مجموعه پیمایش کنید و بر اساس معیارهای خاص فیلتر کنید تا به زیرمجموعه‌های خاصی دسترسی یابید.

مثال

در ادامه مثال پایه‌ای آورده شده است که نحوه دسترسی به زیرمجموعه‌ها از یک مجموعه را نشان می‌دهد −

import itertools

# Defining a set
original_set = {1, 2, 3, 4}

# Checking if {1, 2} is a subset of the original set
is_subset = {1, 2}.issubset(original_set)
print("{1, 2} is a subset of the original set:", is_subset)

# Generating all subsets with two elements
subsets_with_two_elements = [set(subset) for subset in itertools.combinations(original_set, 2)]
print("Subsets with two elements:", subsets_with_two_elements)

خروجی کد بالا به صورت زیر است −

{1, 2} is a subset of the original set: True
Subsets with two elements: [{1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}]

بررسی وجود آیتم در مجموعه

شما می‌توانید با استفاده از عملگرهای عضویت در پایتون، یعنی in و not in، بررسی کنید که آیا یک آیتم خاص در مجموعه وجود دارد یا خیر.

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

مثال

در مثال زیر، عملگر "in" بررسی می‌کند که آیا آیتم "Java" در مجموعه "langs" وجود دارد یا خیر، و عملگر "not in" بررسی می‌کند که آیا آیتم "SQL" در مجموعه وجود ندارد −

# Defining a set
langs = {"C", "C++", "Java", "Python"}

# Checking if an item exists in the set
if "Java" in langs:
    print("Java is present in the set.")
else:
    print("Java is not present in the set.")

# Checking if an item does not exist in the set
if "SQL" not in langs:
    print("SQL is not present in the set.")
else:
    print("SQL is present in the set.")

این کد خروجی زیر را تولید خواهد کرد −

Java is present in the set.
SQL is not present in the set.

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.