మాడ్యూల్ పాఠాలు (4/4)
ముఖ్యమైన ఐటెర్టూల్స్
పైథాన్ పుష్కలంగా పునరావృత సాధనాలను బహిర్గతం చేస్తుంది: కొన్ని అంతర్నిర్మిత (ఎల్లప్పుడూ
అందుబాటులో ఉంది), ఇతరులు ప్రామాణిక itertools మాడ్యూల్లో నివసిస్తున్నారు
లైబ్రరీ. ఇక్కడ చాలా ముఖ్యమైనవి ఉన్నాయి.
enumerate: సూచిక + విలువ
లూప్ సమయంలో మీకు సూచిక మరియు మూలకం రెండూ అవసరమైనప్పుడు:
for i, parola in enumerate(["a", "b", "c"]):
print(i, parola)
# 0 a
# 1 b
# 2 c
# parte da un altro numero:
for i, parola in enumerate(["a", "b", "c"], start=1):
print(i, parola)zip: సమాంతరంగా పునరావృతం చేయండి
మూలకం వారీగా బహుళ పునరావృత మూలకాన్ని మిళితం చేస్తుంది:
nomi = ["Ada", "Linus", "Grace"]
eta = [36, 54, 85]
for n, e in zip(nomi, eta):
print(f"{n} ha {e} anni")zip చిన్న పునరావృతం వద్ద ఆగుతుంది. "పొడవైన" జిప్ ఉపయోగం కోసం
itertools.zip_longest.
రెండు సమాంతర జాబితాల నుండి డిక్ట్ను రూపొందించడం:
dict(zip(nomi, eta))
# {'Ada': 36, 'Linus': 54, 'Grace': 85}itertools.chain: పునరుత్పత్తి చేయదగినవి
from itertools import chain
list(chain([1, 2], [3, 4], [5]))
# [1, 2, 3, 4, 5]ఇంటర్మీడియట్ జాబితాను సృష్టించకుండా: ఫైల్లు, జనరేటర్లు మొదలైన వాటికి ఉపయోగపడుతుంది.
itertools.count మరియు repeat: అనంతమైన పునరావృత్తులు
from itertools import count, repeat
# count(start, step) — interi crescenti infiniti
for i in count(10, 2):
if i > 20: break
print(i)
# 10, 12, 14, 16, 18, 20
# repeat(x, n) — ripete lo stesso valore n volte (o all'infinito senza n)
list(repeat("ok", 3)) # ['ok', 'ok', 'ok']itertools.combinations
ఇచ్చిన అన్ని కలయికలు (పునరావృతాలు లేకుండా, ఆర్డర్-స్వతంత్రం). పొడవు:
from itertools import combinations
list(combinations([1, 2, 3, 4], 2))
# [(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)]ఆర్డర్ చేసిన వేరియంట్: permutations. పునరావృతంతో వేరియంట్లు:
combinations_with_replacement మరియు product.
zip() నిఘంటువుల కోసం మరియు అసమతుల్యమైన ఇటరాబుల్స్
zip() ఫంక్షన్ చిన్నదైన ఇన్పుట్ పునరావృతం అయిపోయిన వెంటనే ఆగిపోతుంది. మీరు మూలకాలను జత చేసి, ఏవైనా అదనపు విలువలను ఉంచాలనుకుంటే (వాటిని None వంటి డిఫాల్ట్ విలువతో నింపడం), మీరు itertools మాడ్యూల్ నుండి zip_longest()ని ఉపయోగించవచ్చు. అదనంగా, మీరు కీ-విలువ మ్యాప్ను తక్షణమే రూపొందించడానికి zip ఫలితాన్ని నేరుగా dict()కి పంపవచ్చు.
దీనిని ప్రయత్నించండి
`దేశాలు = ['ఇటాలియా', 'ఫ్రాన్సియా', 'స్పాగ్నా']` మరియు `రాజధానిలు = ['రోమా', 'పరిగి', 'మాడ్రిడ్']` సమాంతర జాబితాలను బట్టి, `మ్యాపింగ్`ని డిక్ట్ {దేశం: రాజధాని}గా రూపొందించండి. `మ్యాపింగ్`ని మూల్యాంకనం చేయండి.
సూచనను చూపించు
డిక్ట్ (జిప్(దేశాలు, రాజధానులు))
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
ఇచ్చిన `పదాలు = ['ciao', 'mondo', 'python']`, i=1 నుండి ప్రారంభమయ్యే tuples (i, word) జాబితాగా `enumerated_items`ని రూపొందించండి. `గణించబడిన_అంశాలను` మూల్యాంకనం చేయండి.
సూచనను చూపించు
లెక్కించు(పదాలు, ప్రారంభం=1) → (i, విలువ) టుపుల్స్.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
అదనపు సవాలు
Given two lists `keys = ['a', 'b', 'c']` and `values = [10, 20, 30]`, use `zip` to pair them and convert the result into a dictionary. Store the resulting dictionary in `my_dict` and evaluate it.
సూచనను చూపించు
డిక్ట్ (జిప్(కీలు, విలువలు)) ఉపయోగించండి మరియు దానిని my_dictకి కేటాయించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది