ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΈΠΊΠ»Π°Ρ Π² Python. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠΊΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Ρ C ΠΈΠ»ΠΈ Java Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ΠΎΠΌ:
items = [βaβ, βbβ, βcβ]
i = 0
while i < len(items):
print(items[i])
i += 1
Π§ΡΠΎ Ρ Π½ΠΈΠΌ Π½Π΅ ΡΠ°ΠΊ?π€Π·Π΄Π΅ΡΡ ΠΌΡ Π²ΡΡΡΠ½ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ, Π° Π·Π½Π°ΡΠΈΡ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ΅Π±Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ΅Π³ΠΊΠΎ Π·Π°Π΅Ρ Π°ΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ
items[3], Π·Π°ΠΌΠ΅Π½ΠΈΠ² < Π½Π° <=;π€ Π΅ΡΠ»ΠΈ ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, ΡΠΎ ΡΠ°ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ, ΠΈ Π²ΠΎΠΉΡΠΈ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»;
π€ Π² Python ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½Π΅Π΅.
Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
for item in items:
print(item)
ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ π¦ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅,
π¦ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Python, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ Π΅ΡΠ΅ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ
π¦ΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΈΠ· ΡΡΠ΅Π±Π½ΠΈΠΊΠ°.
Π ΡΠ°ΠΊΠΎΠΌ ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ pythonic -- ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ, ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ.
ΠΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠ°Π²Π΄Π°, ΠΎΡΠ΅Π½Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ? ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ, ΠΈ ΡΠΎΠ³Π΄Π° Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΡΠΏΠ΅ΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ
enumerate(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ ΡΠ°ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ:
for i, item in enumerate(items):
print(i)
Π ΠΎΠ±ΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π² Python ΡΠΈΠΊΠ»Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ, Π° Ρ ΡΠ°ΠΌΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΉ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π²ΡΠ΅ ΠΆΠ΅ Π½ΡΠΆΠ½Ρ, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ enumerate(): ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ β ΡΡΠΎ Π½Π΅ pythonic. ΠΠ°ΠΊΠΎΠ½ΡΡ ΡΠΈΡΠ°ΡΠΎΠΉ.
Β«Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π΅ΡΠΈ: ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΊΠ΅ΡΠ°, Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡΒ»
(ΠΠΆΠ΅ΡΡ ΠΡΠ²ΡΠ΄, ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ StackOverflow).