Python - Loop Sets

Python செட் உருப்படிகள் வழியாக சுழலுதல்

Set உருப்படிகள் வழியாக சுழலுதல்

myset = {"apple", "banana", "cherry"}
for item in myset:
    print(item)
# வெளியீடு: banana, apple, cherry (வரிசை மாறுபடலாம்)

for loop பயன்படுத்தி set உருப்படிகள் வழியாக நீங்கள் சுழலலாம்.

முக்கிய குறிப்பு:

Sets வரிசைப்படுத்தப்படாதவை (unordered), எனவே set உருப்படிகள் வழியாக சுழலும் போது, உருப்படிகள் எந்த வரிசையில் கிடைக்கும் என்பதை உறுதிப்படுத்த முடியாது. இது sets இன் அடிப்படை பண்புகளில் ஒன்றாகும்.

அடிப்படை Loop எடுத்துக்காட்டு

Set வழியாக சுழன்று, மதிப்புகளை அச்சிடவும்:

# for loop பயன்படுத்தி set வழியாக சுழலுதல்:
thisset = {"apple", "banana", "cherry"}

for x in thisset:
  print(x)

# சாத்தியமான வெளியீடு:
# banana
# apple
# cherry

🔄 for loop வேலை செய்யும் விதம்:

  1. for keyword set இல் உள்ள ஒவ்வொரு உருப்படியையும் ஒவ்வொன்றாக எடுக்கிறது
  2. ஒவ்வொரு முறையும், தற்போதைய உருப்படி x மாறியில் சேமிக்கப்படுகிறது
  3. Loop உடல் (indented block) ஒவ்வொரு உருப்படிக்கும் செயல்படுத்தப்படுகிறது
  4. Set இல் உள்ள அனைத்து உருப்படிகளும் செயலாக்கப்பட்ட பிறகு loop முடிகிறது

Set Looping இன் பண்புகள்

வரிசைப்படுத்தப்படாதது

உருப்படிகள் எந்த வரிசையில் வரும் என்பது உறுதியற்றது

குறியீடு இல்லை

உருப்படிகளை குறியீடு மூலம் அணுக முடியாது

அனைத்து உருப்படிகளும்

Set இல் உள்ள ஒவ்வொரு உருப்படியும் சரியாக ஒரு முறை செயலாக்கப்படும்

# வெவ்வேறு வரிசைகளைக் காண்பிக்கும் எடுத்துக்காட்டு:
fruits = {"apple", "banana", "cherry", "orange", "mango"}

print("முதல் முறை:")
for fruit in fruits:
  print(fruit)

print("\nஇரண்டாம் முறை:")
for fruit in fruits:
  print(fruit)
# இரண்டு முறைகளும் வெவ்வேறு வரிசையில் வெளியீடு தரலாம்

குறியீட்டுடன் Loop செய்தல்

Set உருப்படிகளை குறியீடுடன் அணுக முடியாது என்பதால், நீங்கள் enumerate() செயல்பாட்டைப் பயன்படுத்தலாம்:

# enumerate() பயன்படுத்தி குறியீட்டுடன் loop செய்தல்:
thisset = {"apple", "banana", "cherry"}

for index, value in enumerate(thisset):
  print(f"Index: {index}, Value: {value}")

# சாத்தியமான வெளியீடு:
# Index: 0, Value: banana
# Index: 1, Value: apple
# Index: 2, Value: cherry

முக்கிய குறிப்பு:

enumerate() இல் உள்ள குறியீடுகள் set இல் உள்ள உருப்படிகளின் நிலையைக் குறிக்காது. அவை 0, 1, 2,... என்று loop செய்யும் போது தானாக உருவாகும் எண்களாகும். Set இன் உண்மையான குறியீடுகள் இல்லை.

Loop வகைகள் மற்றும் நுட்பங்கள்

அடிப்படை for loop

for item in myset:
  print(item)

குறியீட்டுடன் loop

for i, item in enumerate(myset):
  print(f"{i}: {item}")

தொகை கணக்கீடு

total = 0
for num in number_set:
  total += num
print(total)

நிபந்தனை உடன் loop

for item in myset:
  if len(item) > 5:
    print(item)

செயல்பாட்டு எடுத்துக்காட்டுகள்

தரவு செயலாக்கம்

# செட் உருப்படிகளை செயலாக்குதல்:
user_ages = {25, 30, 22, 35, 28}
total_age = 0

for age in user_ages:
  total_age += age
  print(f"Age: {age}")

average_age = total_age / len(user_ages)
print(f"Average age: {average_age}")

உருப்படி பட்டியலாக்கம்

# செட் உருப்படிகளை பட்டியலாக்குதல்:
products = {"laptop", "mouse", "keyboard", "monitor"}
product_list = []

print("Available products:")
for i, product in enumerate(products, 1):
  product_list.append(product)
  print(f"{i}. {product.capitalize()}")

print(f"\nTotal products: {len(product_list)}")

பயிற்சிகள் மூலம் கற்றல்

இந்த டுடோரியலில் உள்ள பல அத்தியாயங்கள் உங்கள் அறிவு நிலையைச் சரிபார்க்கக்கூடிய பயிற்சியுடன் முடிகின்றன.

செட் உருப்படிகள் வழியாக சுழலுவதற்கான சரியான தொடரியல் எது?

for x in {'apple', 'banana', 'cherry'}:
  print(x)
for x in {'apple', 'banana', 'cherry'}
  print(x)
foreach x in {'apple', 'banana', 'cherry'}
  print(x)

பொதுவான Loop வடிவங்கள்

வடிவம் விளக்கம் உதாரணம் பயன்
எளிய அணுகல் ஒவ்வொரு உருப்படியையும் அணுகுதல் for item in set: print(item) அனைத்து உருப்படிகளையும் அச்சிடுதல்
தொகை கணக்கீடு உருப்படிகளின் தொகையைக் கணக்கிடுதல் total = sum(item for item in set) எண் தரவைச் செயலாக்குதல்
வடிகட்டுதல் நிபந்தனைகளின் அடிப்படையில் உருப்படிகளை வடிகட்டுதல் [item for item in set if condition] குறிப்பிட்ட உருப்படிகளைத் தேர்ந்தெடுத்தல்
மாற்றுதல் உருப்படிகளை வேறு வடிவத்திற்கு மாற்றுதல் {func(item) for item in set} தரவை மாற்றியமைத்தல்

Set Loop vs பிற சேகரிப்புகள்

Set Loop

# வரிசைப்படுத்தப்படாதது
myset = {"a", "b", "c"}
for item in myset:
  print(item)
# வெளியீடு வரிசை: b, a, c (மாறுபடலாம்)

List Loop

# வரிசைப்படுத்தப்பட்டது
mylist = ["a", "b", "c"]
for item in mylist:
  print(item)
# வெளியீடு வரிசை: a, b, c (எப்போதும் இதுவே)

📊 முக்கிய வேறுபாடுகள்:

  • Set: வரிசைப்படுத்தப்படாதது - loop வரிசை உறுதியற்றது
  • List: வரிசைப்படுத்தப்பட்டது - loop வரிசை உறுதியானது
  • Dictionary: key-value ஜோடிகள் - keys அல்லது values வழியாக loop செய்யலாம்
  • Tuple: List போன்றது, ஆனால் மாற்ற முடியாதது

செயல்திறன் கருத்துகள்

செயல்பாடு Set Loop List Loop பரிந்துரை
உருப்படிகளை அணுகுதல் O(n) - அனைத்து உருப்படிகளும் O(n) - அனைத்து உருப்படிகளும் இரண்டும் ஒரே மாதிரியானவை
உள்ளதா எனச் சரிபார்த்தல் O(1) - loop இல் சோதனை O(n) - loop இல் சோதனை Set சிறந்தது
நினைவக பயன்பாடு அதிகம் (hash table) குறைவு (array) List சிறந்தது
தனித்த மதிப்புகள் ஏற்கனவே உறுதி செய்யப்பட்டது மேனுவல் சரிபார்ப்பு தேவை Set சிறந்தது

சிறந்த பயிற்சிகள்

வரிசையை நம்பாதீர்கள்: Set உருப்படிகள் எந்த வரிசையில் வரும் என்பதை எதிர்பார்க்காதீர்கள்
enumerate() பயன்படுத்தவும்: குறியீடு தேவைப்பட்டால் enumerate() பயன்படுத்தவும்
தனித்த மதிப்புகள்: நகல்களை அகற்ற set பயன்படுத்தவும்
சரிபார்ப்பு: Loop செய்வதற்கு முன் set காலியாக இல்லை என்பதைச் சரிபார்க்கவும்

சுருக்கம்

# Set Looping சுருக்கம்:
fruits = {"apple", "banana", "cherry"}

# 1. அடிப்படை for loop
for fruit in fruits:
  print(fruit)

# 2. குறியீட்டுடன் loop
for i, fruit in enumerate(fruits):
  print(f"{i}: {fruit}")

# 3. நிபந்தனை உடன் loop
for fruit in fruits:
  if 'a' in fruit:
    print(fruit)

# நினைவில் கொள்ள: Sets வரிசைப்படுத்தப்படாதவை!