Python-ի ներածություն

Զանգվածները և zip ֆունկցիան

Python–ի ամենամեծ առավելություններից է իր տրամադրած գործիքների քանակը Python-ում եղած տիպերի հետ աշխատելու համար։ Մի քանի զանգվածի հետ աշխատելիս շատ հաճախ պետք է գալիս միանգամից մի քանիսի վրայով անցնել և ինչ-որ գործողություն անել այդ զանգվածներում գտնվող արժեքների հետ։ Մի քանի զանգվածի վրայով միաժամանակ անցնելու համար կարելի է օգտագործել zip ֆունկցիան.
heights = [180, 190, 178]
weights = [89, 92, 77]

for i in range(len(heights)):
	h, w = heights[i], weights[i]
	print(h, '=>', w)
heights = [180, 190, 178]
weights = [89, 92, 77]

for h, w in zip(heights, weights):
	print(h, '=>', w)
zip ֆունկցիան մի քանի զանգվածներից ստեղծում է tuple-ների զանգված։ Այն կարող է կամայական քանակի զանգվածներ ընդունել, որպես պարամետր, որի միջոցով մենք կարող ենք ունենալ zip(list1, list2, list3, ..., listn)-ի նման արտահայտություններ։ Այստեղ ծրագիրը կստեղծի tuple-ներ, որոնք պարունակում են n հատ էլեմենտ, եթե zip-ին փոխանցվել է n հատ զանգված։
Հաշվի առեք, որ zip-ը աշխատում է մինչև ամենակարճ զանգվածը։ Այդպիսով եթե մենք zip-ին փոխանցենք երկու զանգված, որտեղ մեկը մյուսից կարճ է, երկարի վերջին մի քանի էլեմենտը կանտեսվեն։
Եթե կարիք կա ավելի խիստ լինելու և թույլ չտալու դա, ապա մենք կարող ենք անել դա strict=True արգումենտի միջոցով։ Եթե սխալ չափի զանգվծներ լինեն փոխանցված, Python-ը կասի որ մենք ունենք ValueError։
notion image
heights = [180, 190]
names = ['Bob', 'Liza', 'Anna']

for h, name in zip(heights, names, strict=True):
	print(name, '=>', h)
# ValueError: zip() argument 2 is longer than argument 1

Առաջադրանք

Մուտքում տրված է 3 զանգված՝ ամեն մեկն առանձին տողի վրա։ Զանգվածի էլեմենտներն առանձնացված են բացատով։ Երաշխավորվում է, որ բոլոր զանգվածներն ունեն նույն քանակի էլեմենտներ։
Ծրագիրը պետք է տպի նոր զանգված, որը պարունակի նույն ինդեքսներում զանգվածների էլեմենտների արտադրյալը
Մուտք
Ելք
1 2 3 4 5 6 1 1 1
4 10 18
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue