fb pixel

Ներդրված list comprehension

Երբ գործ ունենք երկչափ զանգվածների հետ, հնարավոր է նաև անցնել օբյեկտների վրայով list comprehension-ի միջոցով:
grid = [
	[10, 20, 30],
	[40, 50, 60],
]
squared = [[i * i for i in row] for row in grid]
print(squared)
# [[100, 400, 900], [1600, 2500, 3600]]
Այստեղ արտաքին ցիկլը անցնում է grid-ի վրայով տող առ տող: Այնուհետև մենք անցնում ենք տողի յուրաքանչյուր տարրի վրայով:
Եթե կարիք կա squared-ը ստանալ որպես միաչափ ցուցակ/զանգված, այլ ոչ երկչափ, այդ դեպքում կարող ենք դա ստանալ սկզբից անցնելով grid-ի վրայով for row in grid-ի միջոցով, իսկ ապա տողի ամեն էլեմենտի վրայով for i in row-ի միջոցով և չունենալ ներքին փակագծեր [].
grid = [
	[10, 20, 30],
	[40, 50, 60],
]
squared = [i * i for row in grid for i in row]
print(squared)
# [100, 400, 900, 1600, 2500, 3600]

Առաջադրանք

Կարո՞ղ եք օգտագործել list comprehension-ը շախմատի տախտակի բոլոր կոորդինատները տպելու համար:
Թվերը գնում են 1-ից մինչև 8, իսկ տառերն են՝ A B C D E F G H: Համարակալումը կատարվում է A1 B1 C1 ... H1 հաջորդ տողն է՝ A2 B2 C2 ... H2 և այլն: Տպեք յուրաքանչյուր տող առանձին:
Ելք
A1 B1 C1 D1 E1 F1 G1 H1
A2 B2 C2 D2 E2 F2 G2 H2
A3 B3 C3 D3 E3 F3 G3 H3
A4 B4 C4 D4 E4 F4 G4 H4
A5 B5 C5 D5 E5 F5 G5 H5
A6 B6 C6 D6 E6 F6 G6 H6
A7 B7 C7 D7 E7 F7 G7 H7
A8 B8 C8 D8 E8 F8 G8 H8
Հուշում
Դուք կարող եք օգտագործել մեկ տողային պայման՝ որոշելու համար, թե արդյոք տպում եք նոր տող՝ որպես print մեթոդի end պարամետր։
 
To check your solution you need to sign in
Sign in to continue