Python - List Comprehension

பைத்தான் - பட்டியல் புரிதல்

List Comprehension

பட்டியல் புரிதல் ஒரு குறுகிய தொடரியலை வழங்குகிறது, நீங்கள் ஒரு இருக்கும் பட்டியலின் மதிப்புகளின் அடிப்படையில் ஒரு புதிய பட்டியலை உருவாக்க விரும்பும் போது.

Example:

பழங்களின் பட்டியலின் அடிப்படையில், "a" என்ற எழுத்தை பெயரில் கொண்ட பழங்களை மட்டும் கொண்ட ஒரு புதிய பட்டியலை நீங்கள் விரும்புகிறீர்கள்.

Without List Comprehension

பட்டியல் புரிதல் இல்லாமல், உள்ளே ஒரு நிபந்தனை சோதனையுடன் ஒரு for கூற்றை நீங்கள் எழுத வேண்டும்:

Example

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

With List Comprehension

பட்டியல் புரிதலுடன், நீங்கள் அனைத்தையும் ஒரே வரி குறியீட்டுடன் செய்யலாம்:

Example

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)

The Syntax

List Comprehension Syntax
newlist = [expression for item in iterable if condition == True]
Expression
தற்போதைய உருப்படி அல்லது மாற்றப்பட்ட முடிவு
Item
மறு செய்கையில் உள்ள தற்போதைய உருப்படி
Iterable
மறு செய்யக்கூடிய பொருள் (பட்டியல், tuple, set, முதலியன)
Condition
வடிகட்டு நிபந்தனை (விருப்பமானது)

திரும்பும் மதிப்பு ஒரு புதிய பட்டியல், பழைய பட்டியல் மாறாமல் விடப்படுகிறது.

Condition

நிபந்தனை என்பது True என மதிப்பிடப்படும் உருப்படிகளை மட்டுமே ஏற்கும் ஒரு வடிகட்டி போன்றது.

Example

newlist = [x for x in fruits if x != "apple"]

நிபந்தனை if x != "apple" "apple" தவிர மற்ற அனைத்து உறுப்புகளுக்கும் True ஐத் தரும், புதிய பட்டியலில் "apple" தவிர அனைத்து பழங்களையும் கொண்டிருக்கும்.

நிபந்தனை விருப்பமானது மற்றும் தவிர்க்கப்படலாம்:

Example

newlist = [x for x in fruits]

Iterable

மறு செய்யக்கூடிய பொருள் எந்த மறு செய்யக்கூடிய பொருளாகவும் இருக்கலாம், பட்டியல், tuple, set போன்றவை.

Example

newlist = [x for x in range(10)]

அதே உதாரணம், ஆனால் ஒரு நிபந்தனையுடன்:

Example

newlist = [x for x in range(10) if x < 5]

Expression

வெளிப்பாடு என்பது மறு செய்கையில் உள்ள தற்போதைய உருப்படியாகும், ஆனால் இது விளைவாகவும் உள்ளது, இது புதிய பட்டியலில் ஒரு பட்டியல் உருப்படியாக முடிவடையும் முன் நீங்கள் கையாளலாம்:

Example

newlist = [x.upper() for x in fruits]

நீங்கள் விளைவை நீங்கள் விரும்பும் எதற்கும் அமைக்கலாம்:

Example

newlist = ['hello' for x in fruits]

வெளிப்பாட்டில் வடிகட்டியாக அல்ல, ஆனால் விளைவை கையாளும் ஒரு வழியாக நிபந்தனைகளும் இருக்கலாம்:

Example

newlist = [x if x != "banana" else "orange" for x in fruits]

Comprehension Examples

🔍
Filter with Condition
[x for x in fruits if "a" in x]
"a" கொண்ட பழங்களை மட்டும்
🔄
Transform Items
[x.upper() for x in fruits]
பழங்களை பெரிய எழுத்துக்களாக மாற்று
🔢
Number Operations
[x*2 for x in range(5)]
எண்களை இரட்டிப்பாக்கு
🎯
Conditional Expression
[x if x>0 else 0 for x in nums]
எதிர்மறை எண்களை 0 ஆக மாற்று

How List Comprehension Works

1
Start with Iterable
fruits = ["apple", "banana", "cherry"]
2
Apply Condition Filter
if x == 'banana' → Only items where condition is True
3
Create New List
Collect filtered items into new list: ['banana']

Exercise

பின்வரும் குறியீட்டைக் கவனியுங்கள்: fruits = ['apple', 'banana', 'cherry'] newlist = [x for x in fruits if x == 'banana'] newlist இன் மதிப்பு என்னவாக இருக்கும்?

['apple', 'cherry']
✗ தவறு! நிபந்தனை x == 'banana' ஆகும், எனவே 'apple' மற்றும் 'cherry' தவிர்க்கப்படும்
['banana']
✓ சரி! பட்டியல் புரிதல் 'banana' க்கு சமமாக இருக்கும் உருப்படிகளை மட்டுமே வடிகட்டுகிறது
True
✗ தவறு! பட்டியல் புரிதல் எப்போதும் ஒரு பட்டியலைத் தரும், பூலியன் மதிப்பை அல்ல