தொகுதி பாடங்கள் (2/4)
டிக்ட் மற்றும் செட் புரிதல்
பட்டியல் புரிதல்களுக்குப் பயன்படுத்தப்படும் அதே தொடரியல் உருவாக்கவும் வேலை செய்கிறது டிக்ட் மற்றும் செட் மதிப்புகள் - நீங்கள் அடைப்புக்குறிகளை மாற்றினால் போதும்.
கட்டளை புரிதல்
தொடரியல்: {key: value for element in iterable}.
quadrati = {n: n * n for n in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}பொதுவான முறை: டூப்பிள்களின் பட்டியலை ஆணையாக மாற்றவும்.
coppie = [("a", 1), ("b", 2), ("c", 3)]
d = {k: v for k, v in coppie}
# {'a': 1, 'b': 2, 'c': 3}
# (equivalente a dict(coppie) in questo caso)ஒரு ஆணையின் விசைகள் மற்றும் மதிப்புகளை மாற்றவும்:
originale = {"a": 1, "b": 2, "c": 3}
invertito = {v: k for k, v in originale.items()}
# {1: 'a', 2: 'b', 3: 'c'}ஆணையை வடிகட்டவும்:
prezzi = {"mela": 1.2, "pera": 1.5, "kiwi": 2.5, "ananas": 4.0}
economici = {k: v for k, v in prezzi.items() if v < 2.0}
# {'mela': 1.2, 'pera': 1.5}புரிதலை அமைக்கவும்
தொடரியல்: {expression for element in iterable}. ஒரு பட்டியல் போலவே
புரிதல், ஆனால் சுருள் பிரேஸ்களுடன்.
parole = ["ciao", "mondo", "ciao", "python"]
uniche = {p.upper() for p in parole}
# {'CIAO', 'MONDO', 'PYTHON'}பெயர்களின் பட்டியலிலிருந்து தனித்துவமான முதலெழுத்துக்கள்:
nomi = ["Ada", "Linus", "Grace", "Alan", "Guido"]
iniziali = {n[0] for n in nomi}
# {'A', 'L', 'G'}வடிகட்டி + மாற்றம்
பட்டியல் புரிதல்களைப் போலவே, பின்தொடரும் if வடிப்பான்கள்:
{n: n * n for n in range(10) if n % 2 == 0}
# {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}விசைகள் மற்றும் மதிப்புகளை மாற்றுவதற்கான புரிதல்களை விவரிக்கவும்
ஒரு அகராதியைத் தலைகீழாக மாற்றுவதற்கான மிகவும் பொதுவான முறை (விசைகள் மற்றும் மதிப்புகளை மாற்றுதல், மதிப்புகள் தனிப்பட்டவை எனக் கருதுவது):
orig_dict = {'a': 1, 'b': 2}
inv_dict = {value: key for key, value in orig_dict.items()}
# result: {1: 'a', 2: 'b'}முயற்சி செய்து பாருங்கள்
கொடுக்கப்பட்ட `வார்த்தைகள் = ['மேலா', 'பேரா', 'கிவி', 'வாழைப்பழம்']`, `நீளங்களை' ஒரு ஆணையாக உருவாக்கவும் {வார்த்தை: லென்(வார்த்தை)}. `நீளங்களை` மதிப்பிடவும்.
குறிப்பைக் காட்டு
{p: வார்த்தைகளில் p க்கு len(p)}
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
மதிப்பாய்வு பயிற்சி
`எண்கள் = [1, 2, 2, 3, 4, 4, 5]` கொடுக்கப்பட்டால், சதுரங்களின் தொகுப்பாக `unique_squares` ஐ உருவாக்கவும். `தனித்துவமான_சதுரங்களை` மதிப்பிடவும்.
குறிப்பைக் காட்டு
':' இல்லாமல் சுருள் பிரேஸ்கள் = செட் புரிந்துகொள்ளுதல்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
கூடுதல் சவால்
Given the list of strings `names = ["Alice", "Bob"]`, use a dict comprehension to create a dictionary that maps each name to its length. Store the dictionary in `name_lengths` and evaluate it.
குறிப்பைக் காட்டு
தொடரியல் {name: len(name) for names in names}.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்