Π Π°Π·Π½ΠΎΠ΅

Python list for i in: Π¦ΠΈΠΊΠ» for Π² ΠΎΠ΄Π½Ρƒ строку Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π¦ΠΈΠΊΠ» for Π² ΠΎΠ΄Π½Ρƒ строку Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

Как ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов, Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ послС создания массива, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ цикл для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ этим Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько строк для написания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° for для ΠΎΠ΄Π½ΠΎΠΉ простой Π·Π°Π΄Π°Ρ‡ΠΈ. К Ρ‡Π°ΡΡ‚ΡŒΡŽ, Python это ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ прСдоставляСт Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для использования Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях. Π­Ρ‚ΠΎΡ‚ инструмСнт называСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка (list comprehensions, списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅).

Π•ΡΡ‚ΡŒ вопросы ΠΏΠΎ Python?

На нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ всСго нашСго сообщСства!

Telegram Π§Π°Ρ‚ & Канал

ВступитС Π² наш Π΄Ρ€ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‡Π°Ρ‚ ΠΏΠΎ Python ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ большого сообщСства!

Паблик VK

Одно ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСств ΠΏΠΎ Python Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’Πš. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для вас!


Π§Ρ‚ΠΎ это Π·Π° Π·Π²Π΅Ρ€ΡŒ?

БписковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (List comprehensions) – это списки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Π²Π½ΡƒΡ‚Ρ€ΠΈ. Они ΠΎΡ‡Π΅Π½ΡŒ распространСны Π² Python ΠΈ выглядят ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

[thing for thing in list_of_things]



[thing for thing in list_of_things]

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π΅Ρ‰Π΅ сильнСС Π·Π°ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ сдСлаСм шаг Π½Π°Π·Π°Π΄. Бписок содСрТит Π² сСбС мноТСство Π²Π΅Ρ‰Π΅ΠΉ, Π½ΠΎ опрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ значСния всСх чисСл Π² спискС. Для Π½Π°Ρ‡Π°Π»Π°, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список чисСл.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. НазовСм Π΅Π΅ list_doubler, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚, ΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся списком, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ΄Π²Π°ΠΈΠ²Π°Ρ‚ΡŒ.

def list_doubler(lst):
doubled = []
for num in lst:
doubled.append(num*2)
return doubled



def list_doubler(lst):

Β Β Β Β doubled = []

Β Β Β Β for num in lst:

Β Β Β Β Β Β Β Β doubled.append(num*2)

Β Β Β Β return doubled

Π’Ρ‹Π·ΠΎΠ² этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ даст Π½Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ список с ΡƒΠ΄Π²ΠΎΠ΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.

my_doubled_list = list_doubler(lst)



my_doubled_list = list_doubler(lst)

my_doubled_list Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТит значСния 42, 4 ΠΈ 186. Π­Ρ‚Π° функция простая ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ простым способом, Π½ΠΎ это ΠΏΡΡ‚ΡŒ строк, учитывая ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ строку. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ пСрСмСнная, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ добавляСм ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΅Ρ‘.

ЕдинствСнная Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΏΠΎ-настоящСму Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ – это Ρ†ΠΈΠΊΠ» for. Π¦ΠΈΠΊΠ» for Ρ‚ΠΎΠΆΠ΅ ΠΌΠ°Π»ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚, просто ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ число Π½Π° 2. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ для прСвращСния Π² списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ спискового Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π”Π°Π²Π°ΠΉΡ‚Π΅ сохраним Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ. Нам Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ создаСт списки, Π° списки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈΠΌΠ΅ΠΌ это Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ располоТим списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ справа ΠΎΡ‚Β doubled ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.

doubled = [thing for thing in list_of_things]



doubled = [thing for thing in list_of_things]

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΡƒΡŽ сторону. Как ΠΈ с Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ for, Π° правая Ρ‡Π°ΡΡ‚ΡŒ списка выглядит ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ элСмСнты Π² нашСм Ρ†ΠΈΠΊΠ»Π΅. Π‘Π½Π°Ρ‡Π°Π»Π°, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ списка, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π°.

doubled = [thing for num in lst]



doubled = [thing for num in lst]

Π­Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ элСмСнт Π½Π΅ являСтся… элСмСнтом. Π’ нашСй ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ num * 2, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм это Π΅Ρ‰Π΅ Ρ€Π°Π·.

doubled = [num * 2 for num in lst]



doubled = [num * 2 for num in lst]

ВсС Ρ‡Ρ‚ΠΎ находится ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Ρ‚ΠΎΡ‡Π½ΠΎ внСсСно Π² список. НаконСц, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ наш Π½ΠΎΠ²Ρ‹ΠΉ список.

def list_doubler(lst):
doubled = [num * 2 for num in lst]
return doubled



def list_doubler(lst):

Β Β Β Β doubled = [num * 2 for num in lst]

Β Β Β Β return doubled

ЗапускаСм Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

my_doubled_list = list_doubler([12, 4, 202])



my_doubled_list = list_doubler([12, 4, 202])

И Π΄Π°, my_doubled_list содСрТит ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ значСния 24, 8 ΠΈ 404. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ создаСм ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ просто ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

def list_doubler(lst):
return [num * 2 for num in lst]



def list_doubler(lst):

Β Β Β Β return [num * 2 for num in lst]

Π₯ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ ΠΌΠ½Π΅ это Π½ΡƒΠΆΠ½ΠΎ?

БписковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка, list comprehensions) ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для случаСв, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ мСста Π² ΠΊΠΎΠ΄Π΅. Они Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Π² случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ быстро ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ списки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π°Π΄ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с этим списком.

Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ эту Ρ‚Π΅ΠΌΡƒ ΠΌΡ‹ обсудим Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ условиС if Π² список

Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ слова ΠΈΠ· списка. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ состоит Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΈΠ· 5 Π±ΡƒΠΊΠ², Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ. Для Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

def long_words(lst):
words = []
for word in lst:
if len(word) > 5:
words.append(word)
return words



def long_words(lst):

Β Β Β Β words = []

Β Β Β Β for word in lst:

Β Β Β Β Β Β Β Β if len(word) > 5:

Β Β Β Β Β Β Β Β Β Β  words.append(word)

Β Β Β Β return words

ΠœΡ‹ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния Π½Π°ΡˆΠΈΡ… слов, примСняСм цикл Π½Π°Π΄ всСми словами Π² нашСм спискС, ΠΈ провСряСм Π΄Π»ΠΈΠ½Π½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова. Если ΠΎΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 5 Π±ΡƒΠΊΠ², ΠΌΡ‹ вносим слово Π² список, ΠΈ Π·Π°Ρ‚Π΅ΠΌ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ отсылаСм список Π½Π°Π·Π°Π΄. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ.

long_words(['blog', 'Treehouse', 'Python', 'hi'])Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ['Treehouse', 'Python']. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ это Π² списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Для Π½Π°Ρ‡Π°Π»Π°, построим Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ Ρ‚Π°ΠΊ Π·Π½Π°Π΅ΠΌ.

def long_words(lst):
return [word for word in lst]



def long_words(lst):

Β Β Β Β return [word for word in lst]

Π­Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ всС слова, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 5 Π±ΡƒΠΊΠ². ΠœΡ‹ вносим условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° for.

def long_words(lst):
return [word for word in lst if len(word) > 5]



def long_words(lst):

Β Β Β Β return [word for word in lst if len(word) > 5]

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ использовали всё Ρ‚ΠΎ ΠΆΠ΅ условиС if, Π½ΠΎ помСстили Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ† спискового Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Оно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для элСмСнтов Π² спискС.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ эту Π²Π΅Ρ€ΡΠΈΡŽΒ long_words(['list', 'comprehension', 'Treehouse', 'Ken']) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ['comprehension', 'Treehouse'].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

1. Π’ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ всС числа ΠΎΡ‚ 1 Π΄ΠΎ 9. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ range.

[x**2 for x in range(10)]



[x**2 for x in range(10)]

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]



[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2. ВсС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСлятся Π½Π° 5 Π±Π΅Π· остатка, Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 100.

[x for x in range(100) if x%5 == 0]



[x for x in range(100) if x%5 == 0]

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]



[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

3. ВсС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСлятся Π½Π° 3 ΠΈ 6 Π±Π΅Π· остатка, Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 50.

[x for x in range(50) if x%3 == 0 and x%6 != 0]



[x for x in range(50) if x%3 == 0 and x%6 != 0]

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

[3, 9, 15, 21, 27, 33, 39, 45]



[3, 9, 15, 21, 27, 33, 39, 45]

4. ΠŸΠ΅Ρ€Π²Π°Ρ Π±ΡƒΠΊΠ²Π° ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова прСдлоТСния.

phrase = «Π’СстовоС сообщСниС ΠΈΠ· ΠΌΠΈΡ€Π° Python для сообщСства.»
print([w[0] for w in phrase.split()])



phrase = «Π’СстовоС сообщСниС ΠΈΠ· ΠΌΠΈΡ€Π° Python для сообщСства.»

print([w[0] for w in phrase.split()])

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

[‘Π’’, ‘с’, ‘ΠΈ’, ‘ΠΌ’, ‘P’, ‘Π΄’, ‘с’]



[‘Π’’, ‘с’, ‘ΠΈ’, ‘ΠΌ’, ‘P’, ‘Π΄’, ‘с’]

5. ЗамСняСм Π±ΡƒΠΊΠ²Ρƒ А Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ словС Π½Π° #.

phrase = «ΠΠ‘АЖУР, ΠΠ‘ΠΠ—Π˜ΠΠ‘ΠšΠ˜Π™, ΠΠ‘ΠΠ—Π˜ΠΠ«, АББАВ, ΠΠ‘Π‘ΠΠ’Π˜Π‘Π, ΠΠ‘Π‘ΠΠ’Π‘Π’Π’Πž»
print(».join([letter if letter != ‘А’ else ‘#’ for letter in phrase]))



phrase = «ΠΠ‘АЖУР, ΠΠ‘ΠΠ—Π˜ΠΠ‘ΠšΠ˜Π™, ΠΠ‘ΠΠ—Π˜ΠΠ«, АББАВ, ΠΠ‘Π‘ΠΠ’Π˜Π‘Π, ΠΠ‘Π‘ΠΠ’Π‘Π’Π’Πž»

print(».join([letter if letter != ‘А’ else ‘#’ for letter in phrase]))

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

#Π‘#Π–Π£Π , #Π‘#Π—Π˜ΠΠ‘ΠšΠ˜Π™, #Π‘#Π—Π˜ΠΠ«, #Π‘Π‘#Π’, #Π‘Π‘#ВИБ#, #Π‘Π‘#Π’Π‘Π’Π’Πž



#Π‘#Π–Π£Π , #Π‘#Π—Π˜ΠΠ‘ΠšΠ˜Π™, #Π‘#Π—Π˜ΠΠ«, #Π‘Π‘#Π’, #Π‘Π‘#ВИБ#, #Π‘Π‘#Π’Π‘Π’Π’Πž

Π˜Ρ‚ΠΎΠ³ΠΈ

НадСюсь это руководство ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ простой способ экономии ΠΊΠΎΠ΄Π° , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для получСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вашими списками.

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ваши списковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, Π° условия if – простыми. НСслоТно Ρ€Π°Π·Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² списковых Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ бСспорядок.

Если это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ распалило ваш Π°ΠΏΠΏΠ΅Ρ‚ΠΈΡ‚, посмотрим, смоТСтС Π»ΠΈ Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ со словарными Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ конструкторы dict, {:} , Π½ΠΎ ΠΎΠ½ΠΈ довольно ΠΏΠΎΡ…ΠΎΠΆΠΈ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ установочныС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Python, Ссли считаСтС сСбя Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

итСрация ΠΏΠΎ списку, break, continue, enumerate, range

Π¦ΠΈΠΊΠ»Ρ‹ python β€” for ΠΈ while ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка программирования, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.

Бинтаксис Ρ†ΠΈΠΊΠ»Π° For

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, Ρ†ΠΈΠΊΠ» for Π² Python являСтся ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, основанным Π½Π° Ρ†ΠΈΠΊΠ»Π΅. Он ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ элСмСнтам list ΠΈ tuple, строкам, ΠΊΠ»ΡŽΡ‡Π°ΠΌ словаря ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

Π’ Python Ρ†ΠΈΠΊΠ» начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова for, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ значСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠ±Ρ‰ΠΈΠΉ синтаксис for...in Π² python выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

for <пСрСмСнная> in <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ>:
    <дСйствиС>
else:
    <дСйствиС>

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ β€œΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈβ€ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ β€œΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉβ€ Ρ†ΠΈΠΊΠ»Π°; Ссли Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, пСрСмСнная ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° элСмСнты. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта выполняСтся β€œΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅β€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого Ρ†ΠΈΠΊΠ»Π° for Π² Python:

>>> languages = ["C", "C++", "Perl", "Python"]
>>> for x in languages:
...     print(x)
...
C
C++
Perl
Python
>>>

Π‘Π»ΠΎΠΊ else являСтся особСнным; Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ программист, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Perl Π·Π½Π°ΠΊΠΎΠΌ с Π½ΠΈΠΌ, это нСизвСстная конструкция для программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° C ΠΈ C++. БСмантичСски ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ while.

Он Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ†ΠΈΠΊΠ» Π½Π΅ Π±Ρ‹Π» β€œΠΎΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½β€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ break. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ прСрывания Π² python β€” break

Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ†ΠΈΠΊΠ» for Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Π²Π°Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ break, Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ Π±Π΅Π· выполнСния дСйствий ΠΈΠ· else.
ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„Ρ€Π°Π·Ρ‹ break Π² pyton связаны с условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.

edibles = ["ΠΎΡ‚Π±ΠΈΠ²Π½Ρ‹Π΅", "пСльмСни","яйца","ΠΎΡ€Π΅Ρ…ΠΈ"]
for food in edibles:
    if food == "пСльмСни":
        print("Я нС См пСльмСни!")
        break
    print("ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС " + food)
else:
    print("Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ пСльмСнСй!")
print("Π£ΠΆΠΈΠ½ ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½.")

Если ΠΌΡ‹ запустим этот ΠΊΠΎΠ΄, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС ΠΎΡ‚Π±ΠΈΠ²Π½Ρ‹Π΅
Я нС См пСльмСни!
Π£ΠΆΠΈΠ½ ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½.

Π£Π΄Π°Π»ΠΈΠΌ β€œΠΏΠ΅Π»ΡŒΠΌΠ΅Π½ΠΈβ€ ΠΈΠ· нашСго списка ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС ΠΎΡ‚Π±ΠΈΠ²Π½Ρ‹Π΅
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС яйца
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС ΠΎΡ€Π΅Ρ…ΠΈ
Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ пСльмСнСй!
Π£ΠΆΠΈΠ½ ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ пСльмСням Ρƒ нас Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π»ΠΈΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠΈΡ‰Ρƒ. Π’ΠΎΠ³Π΄Π° это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ continue. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ малСньком скриптС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ continue, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ списку, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ сталкиваСмся с пСльмСнями. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ спам!

edibles = ["ΠΎΡ‚Π±ΠΈΠ²Π½Ρ‹Π΅", "пСльмСни","яйца","ΠΎΡ€Π΅Ρ…ΠΈ"]
for food in edibles:
    if food == "пСльмСни":
        print("Я нС См пСльмСни!")
        continue
    print("ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС " + food)
    
else:
    print("НСнавиТу пСльмСни!")
print("Π£ΠΆΠΈΠ½ ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½.")

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС ΠΎΡ‚Π±ΠΈΠ²Π½Ρ‹Π΅
Я нС См пСльмСни!
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС яйца
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, вкусныС ΠΎΡ€Π΅Ρ…ΠΈ
НСнавиТу пСльмСни!
Π£ΠΆΠΈΠ½ ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ спискам с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ range()

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ индСксам списка, Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для этой Π·Π°Π΄Π°Ρ‡ΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм элСмСнтам, Π½ΠΎ индСкс элСмСнта остаСтся нСдоступным. Π•ΡΡ‚ΡŒ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠ°ΠΊ ΠΊ индСксу элСмСнта, Ρ‚Π°ΠΊ ΠΈ ΠΊ самому элСмСнту. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ range() Π² сочСтании с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ len():

fibonacci = [0,1,1,2,3,5,8,13,21]
for i in range(len(fibonacci)):
    print(i,fibonacci[i])

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

0 0
1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ len() ΠΊ list ΠΈΠ»ΠΈ tuple, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ количСство элСмСнтов этой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ спискам

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ список, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ измСнСния списка Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π§Ρ‚ΠΎΠ±Ρ‹ наглядно ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, посмотритС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

colours = ["красный"]
for i in colours:
    if i == "красный":
        colours += ["Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ"]
    if i == "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ":
        colours += ["Π±Π΅Π»Ρ‹ΠΉ"]
print(colours)

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ print(colours)?

['красный', 'Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ', 'Π±Π΅Π»Ρ‹ΠΉ']

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΏΠΈΠ΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСзов, ΠΊΠ°ΠΊ сдСлано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

colours = ["красный"]
for i in colours[:]:
    if i == "красный":
        colours += ["Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ"]
    if i == "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ":
        colours += ["Π±Π΅Π»Ρ‹ΠΉ"]
print(colours)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

['красный', 'Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ']

ΠœΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ список colours, Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ повлияло Π½Π° Ρ†ΠΈΠΊΠ». Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²ΠΎ выполнСния Ρ†ΠΈΠΊΠ»Π°.

Enumerate Π² python 3

Enumerate β€” встроСнная функция Python. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ программисты Π½Π΅ Π·Π½Π°ΡŽΡ‚ ΠΎ Π½Π΅ΠΉ. Она позволяСт Π½Π°ΠΌ автоматичСски ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

for counter, value in enumerate(some_list):
   print(counter, value)

Ѐункция enumerate Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»Π° отсчСта, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.

my_list = ['яблоко', 'Π±Π°Π½Π°Π½', 'вишня', 'пСрсик']
for c, value in enumerate(my_list, 1):
    print(c, value)




ВсС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Ρ†ΠΈΠΊΠ»Ρƒ for ΠΌΡ‹ собрали Π² Ρ‚Π΅ΠΌΠ΅ #Ρ†ΠΈΠΊΠ» for

Python list() ~ докумСнтация ΠΏΠΎ спискам Π½Π° русском: index, sort, append

Как Π² python ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список

Бписки ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках [ ]

Вторая строка этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ списка python β€” индСкс элСмСнта списка.

z = [3, 7, 4, 2]  

Π’ python 3 списки хранят упорядочСнный Π½Π°Π±ΠΎΡ€ элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π’ спискС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ элСмСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ int. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ всС элСмСнты списка Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.


heterogenousElements = [3, True, 'Michael', 2.0] 

Π­Ρ‚ΠΎΡ‚ список содСрТит int, bool, string ΠΈ float.

Доступ ΠΊ элСмСнтам Π² списка

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка ΠΈΠΌΠ΅Π΅Ρ‚ присвоСнный Π΅ΠΌΡƒ индСкс. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π² python индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² спискС β€” 0

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с индСксом 0 (Π²Ρ‹Π΄Π΅Π»Π΅Π½ синим)

z = [3, 7, 4, 2]  

print(z[0]) 


3

Python List Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация начинаСтся с ΠΊΠΎΠ½Ρ†Π°. Иногда Π΅Ρ‘ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния послСднСго элСмСнта Π² спискС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ списка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ послСднСму элСмСнту.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с индСксом -1 (Π²Ρ‹Π΄Π΅Π»Π΅Π½ синим)


print(z[-1])

2

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ элСмСнту с использованиСм ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… индСксов (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅). ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ доступа ΠΊ послСднСму элСмСнту Π² спискС z

print(z[3])

2

Π‘Ρ€Π΅Π·Ρ‹(slice) списка

Π‘Ρ€Π΅Π·Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈ для получСния подмноТСства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с вашСго списка. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ список с элСмСнтами ΠΈΠ· индСкса 0 ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ индСкс 2.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ индСкс ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ (Π΄ΠΎ : Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), Π° послСдний (послС : ) ΠΈ Π½Π΅ учитываСтся


z = [3, 7, 4, 2]
print(z[0:2])  
[3, 7]


print(z[:3])

[3, 7, 4]

Код, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список с элСмСнтами начиная с индСкса 1 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка


print(z[1:])

[7, 4, 2]

ИзмСнСниС элСмСнтов Π² спискС

Бписки Π² Python измСняСмы. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ послС создания списка ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² спискС.

z = [3, 7, 4, 2]  

z[1] = 'fish'
print(z)

[3, 'fish', 4, 2]

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠΊΡ†ΠΈΠΈ списков python

Π£ списков Python Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со списками. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков python.

ΠœΠ΅Ρ‚ΠΎΠ΄ List Index

ΠœΠ΅Ρ‚ΠΎΠ΄ index Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ индСкса, со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ…. Π’ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Π·Π°Π΄ 0.


z = [4, 1, 5, 4, 10, 4]
print(z.index(4))

0

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ поиск.

print(z.index(4, 3))

3

ΠœΠ΅Ρ‚ΠΎΠ΄ List Count

ΠœΠ΅Ρ‚ΠΎΠ΄ count Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π·Π²ΡƒΡ‡ΠΈΡ‚. Он считаСт количСство Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ появляСтся Π² спискС.

random_list = [4, 1, 5, 4, 10, 4]
print(random_list.count(4))

3

ΠœΠ΅Ρ‚ΠΎΠ΄ List Sort

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка β€” фактичСским ΠΊΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ: z.sort()

ΠœΠ΅Ρ‚ΠΎΠ΄ sort сортируСт ΠΈ мСняСт исходный список.

z = [3, 7, 4, 2]
z.sort()
print(z)

[2, 3, 4, 7]

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка с наибольшСго значСния ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ сортируСт список чисСл ΠΎΡ‚ наимСньшСго ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ. Код, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΎΡ‚ наибольшСго ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ.


z.sort(reverse = True)
print(z)

[7, 4, 3, 2]

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список строк ΠΎΡ‚ A Π΄ΠΎ Z ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.


names = ['Steve', 'Rachel', 'Michael', 'Adam', 'Jessica', 'Lester']
names.sort()
print(names)

['Adam', 'Jessica', 'Lester', 'Michael', 'Rachel', 'Steve']

ΠœΠ΅Ρ‚ΠΎΠ΄ List Append

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3 Π² ΠΊΠΎΠ½Π΅Ρ† списка

ΠœΠ΅Ρ‚ΠΎΠ΄ append добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка. Π­Ρ‚ΠΎ происходит Π½Π° мСстС.

z = [7, 4, 3, 2]
z.append(3)
print(z)

[7, 4, 3, 2, 3]

ΠœΠ΅Ρ‚ΠΎΠ΄ List Remove

ΠœΠ΅Ρ‚ΠΎΠ΄ remove удаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ значСния Π² спискС.

z = [7, 4, 3, 2, 3]
z.remove(2)
print(z)

[7, 4, 3, 3]

Код удаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ значСния 2 ΠΈΠ· списка z.

ΠœΠ΅Ρ‚ΠΎΠ΄ List Pop

z.pop(1) удаляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² индСксС 1 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4

ΠœΠ΅Ρ‚ΠΎΠ΄ pop удаляСт элСмСнт Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ индСксС. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· списка. Π’ случаС, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ индСкс, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ элСмСнт ΠΏΠΎ послСднСму индСксу.

z = [7, 4, 3, 3]
print(z.pop(1))
print(z)

4
[7, 3, 3]

ΠœΠ΅Ρ‚ΠΎΠ΄ List Extend

ΠœΠ΅Ρ‚ΠΎΠ΄ extend Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ список, добавляя элСмСнты. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Π½Π°Π΄ append Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ списки.
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ списка [4, 5] Π² ΠΊΠΎΠ½Π΅Ρ† списка z.

z = [7, 3, 3]
z.extend([4,5])
print(z)

[7, 3, 3, 4, 5]

Π’ΠΎ ΠΆΠ΅ самоС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ +.

print([1,2] + [3,4])

[7, 3, 3, 4, 5]

ΠœΠ΅Ρ‚ΠΎΠ΄ List Insert

ВставляСт [1,2] с индСксом 4ΠœΠ΅Ρ‚ΠΎΠ΄ insert вставляСт элСмСнт ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ индСксом.

z = [7, 3, 3, 4, 5]
z.insert(4, [1, 2])
print(z)

[7, 3, 3, 4, [1, 2], 5]

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ списками

ΠœΠ΅Ρ‚ΠΎΠ΄ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅Π΅
x in sTrue Ссли элСмСнт x находится Π² спискС s
x not in sTrue Ссли элСмСнт x Π½Π΅ находится Π² спискС s
s1 + s2ОбъСдинСниС списков s1 и s2
s * n , n * sΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ список s n Ρ€Π°Π·
len(s)Π”Π»ΠΈΠ½Π° списка s, Ρ‚.e. количСство элСмСнтов Π² s
min(s)НаимСньший элСмСнт списка s
max(s)Наибольший элСмСнт списка s
sum(s)Π‘ΡƒΠΌΠΌΠ° чисСл списка s
for i in list()ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ элСмСнты слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ for

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ со списками:

>>> list1 = [2, 3, 4, 1, 32]
>>> 2 in list1  
True
>>> 33 not in list1  
True
>>> len(list1)  
5
>>> max(list1)  
32
>>> min(list1)  
1
>>> sum(list1)  
42

>>> x =  [i for i in range(10)]
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list1.reverse()) 
[32, 1, 4, 3, 2]

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ + ΠΈ * для списков

+ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° списка
list1 = [11, 33]
list2 = [1, 9]
list3 = list1 + list2
print(list3)

[11, 33, 1, 9]
* ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты Π² спискС
list4 = [1, 2, 3, 4]
list5 = list4 * 3
print(list5)

[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in ΠΈ not in

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in провСряСт находится Π»ΠΈ элСмСнт Π² спискС. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True , Π² случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False .

list1 = [11, 22, 44, 16, 77, 98]
22 in list1

True

Аналогично not in Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° in Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

22 not in list1

False

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ списка с использованиСм Ρ†ΠΈΠΊΠ»Π°

Бписок β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НиТС способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ†ΠΈΠΊΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС элСмСнты списка.

list1 = [1,2,3,4,5]
for i in list1:
	print(i, end=" ")

1 2 3 4 5

Как ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² строку

Π’ΠΎΡ‚ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… совСтов для прСобразования списка Π² строку (ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΈΡ‚Π΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ tuple).
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ссли это список строк, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ join() ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

mylist = ['spam', 'ham', 'eggs']
print(', '.join(mylist))

spam, ham, eggs

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

print('\n'.join(mylist))

spam
ham
eggs

Однако этот простой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли список содСрТит Π½Π΅ строчныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа.
Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку с раздСлитСлями-запятыми, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ярлык:

list_of_ints = [80, 443, 8080, 8081]
print(str(list_of_ints).strip('[]'))

80, 443, 8080, 8081

Или ΠΆΠ΅ этот, Ссли ваши ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ содСрТат ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки:

print(str(list_of_ints)[1:-1])

80, 443, 8080, 8081

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ map() Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² список строки ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ:

>>> print(', '.join(map(str, list_of_ints)))
80, 443, 8080, 8081
>>> print('\n'.join(map(str, list_of_ints)))
80
443
8080
8081

Π¦ΠΈΠΊΠ»Ρ‹ Π² Python

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я сталкивался, содСрТит ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π°. Π’ большСй части языков Π΅ΡΡ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ конструкции. Π’ ΠΌΠΈΡ€Π΅ Python Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ†ΠΈΠΊΠ»ΠΎΠ²:

  • Π¦ΠΈΠΊΠ» for
  • Π¦ΠΈΠΊΠ» while

Π― Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» for популярнСС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ. Π¦ΠΈΠΊΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. НСрСдко Π²Π°ΠΌ придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (ΠΈΠ»ΠΈ ряд ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) Π² части Π΄Π°Π½Π½Ρ‹Ρ… снова ΠΈ снова. Π’ΡƒΡ‚ Ρ‚ΠΎ ΠΈ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² силу Ρ†ΠΈΠΊΠ»Ρ‹. Благодаря ΠΈΠΌ становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ вопрос. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти структуры!

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ n-Π½ΠΎΠ΅ количСство Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ссли Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python range. Ѐункция range создаст список Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² Β«nΒ» элСмСнтов. Π’ Python вСрсии 2.Π₯ сущСствуСт другая функция ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ xrange, которая являСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ чисСл ΠΈ Π½Π΅ такая рСсурсоСмкая, ΠΊΠ°ΠΊ range. Π Π°Π½Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смСнили xrange Π½Π° range Π² Python 3. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

print(range(5)) # ΠΎΡ‚Π²Π΅Ρ‚: range(0, 5)



print(range(5)) # ΠΎΡ‚Π²Π΅Ρ‚: range(0, 5)

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, функция range взяла Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ range. Ѐункция range Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ шага. Π’ΠΎΡ‚ Π΅Ρ‰Π΅ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

a = range(5, 10)
print(a) # range(5, 10)

b = list(range(1, 10, 2))
print(b) # [1, 3, 5, 7, 9]



a = range(5, 10)

print(a) # range(5, 10)

Β 

b = list(range(1, 10, 2))

print(b) # [1, 3, 5, 7, 9]

Π’ ΠΏΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ функция range Π²Π΅Ρ€Π½Π΅Ρ‚ числа, начиная с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ (Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ) послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, ΠΏΡ€ΠΈ запросС 5-10 ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 5-9. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ списка (list) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ функция range Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт, ΠΌΠ΅ΠΆΠ΄Ρƒ 1 ΠΈ 10. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с 1, пропускаСт 2 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π³Π°Π΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ? Π§Ρ‚ΠΎ-ΠΆ, Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ простой способ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range! Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм:

for number in range(5):
print(number)



for number in range(5):

Β Β Β Β print(number)

Π§Ρ‚ΠΎ здСсь ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ слСва Π½Π° ΠΏΡ€Π°Π²ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ это. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 5 ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ число. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ range со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 5, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ список ΠΈΠ· 5 элСмСнтов. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, проходя Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ», ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· элСмСнтов. Π¦ΠΈΠΊΠ» for, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эквивалСнтом ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

for number in [0, 1, 2, 3, 4]:
print(number)



for number in [0, 1, 2, 3, 4]:

Β Β Β Β print(number)

Ѐункция range лишь Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нСсколько мСньшим. Π¦ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Python. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со списком. Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ со словарСм.

a_dict = {«one»:1, «two»:2, «three»:3}

for key in a_dict:
print(key)



a_dict = {«one»:1, «two»:2, «three»:3}

Β 

for key in a_dict:

Β Β Β Β print(key)

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ for Π² словарС, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ автоматичСски ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ΠΈ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ for Π² a_dict.keys() (Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚). Python Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ Π²Π΅Ρ‰ΠΈ. Π’Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ»ΡŽΡ‡ΠΈ выводятся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ порядкС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ Π² словарС? Как ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ, словари Π½Π΅ упорядочСны, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ Π½ΠΈΠΌΠΈ, ΠΏΡ€ΠΈ этом ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² любом порядкС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, зная, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ отсортированы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π΄ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

a_dict = {1:»one», 2:»two», 3:»three»}
keys = a_dict.keys()

keys = sorted(keys)
for key in keys:
print(key)



a_dict = {1:»one», 2:»two», 3:»three»}

keys = a_dict.keys()

Β 

keys = sorted(keys)

for key in keys:

Β Β Β Β print(key)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π”Π°Π²Π°ΠΉΡ‚Π΅ остановимся ΠΈ разбСрСмся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ создали ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² качСствС Ρ†Π΅Π»Ρ‹Ρ… чисСл, вмСсто строк. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· словаря. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ keys(), ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нСупорядочСнный список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Если Π²Ρ‹ Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΡ…, ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ располоТСн Π² порядкС ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, Ρ‚ΠΎ это просто ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ доступ ΠΊ ΠΊΠ»ΡŽΡ‡Π°ΠΌ словаря, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ keys. ΠœΡ‹ сортируСм наш список, послС Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for Π² Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ интСрСснСС. ΠœΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range, Π½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ вывСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ вмСсто ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° шага range. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

for number in range(10):
if number % 2 == 0:
print(number)



for number in range(10):

Β Β Β Β if number % 2 == 0:

Β Β Β Β Β Β Β Β print(number)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π’Ρ‹ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ Π³Π°Π΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ здСсь происходит? Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ Π·Π° Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°? Π’ Python, % называСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ модуля. Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ модуля, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток. Когда Π²Ρ‹ Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΎΠ΅ число Π½Π° Π΄Π²Π°, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ число Π±Π΅Π· остатка, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ эти числа. Π’Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ захочСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ модуля часто Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠ½ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ†ΠΈΠΊΠ» while.

Π•ΡΡ‚ΡŒ вопросы ΠΏΠΎ Python?

На нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ всСго нашСго сообщСства!

Telegram Π§Π°Ρ‚ & Канал

ВступитС Π² наш Π΄Ρ€ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‡Π°Ρ‚ ΠΏΠΎ Python ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ большого сообщСства!

Паблик VK

Одно ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСств ΠΏΠΎ Python Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’Πš. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для вас!


Π¦ΠΈΠΊΠ» while Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для повторСния частСй ΠΊΠΎΠ΄Π°, Π½ΠΎ вмСсто зацикливания Π½Π° n количСство Ρ€Π°Π·, ΠΎΠ½ выполняСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия. Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

i = 0
while i < 10:
print(i)
i = i + 1



i = 0

while i < 10:

Β Β Β Β print(i)

Β Β Β Β i = i + 1

Π¦ΠΈΠΊΠ» while являСтся своСго Ρ€ΠΎΠ΄Π° условным ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ этот ΠΊΠΎΠ΄: ΠΏΠΎΠΊΠ° пСрСмСнная i мСньшС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° экран. Π”Π°Π»Π΅Π΅, Π² ΠΊΠΎΠ½Ρ†Π΅, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Если Π²Ρ‹ запуститС этот ΠΊΠΎΠ΄, ΠΎΠ½ выдаст ΠΎΡ‚ 0 Π΄ΠΎ 9, каТдая Ρ†ΠΈΡ„Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС, послС Ρ‡Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°. Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ бСсконСчный Ρ†ΠΈΠΊΠ». Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ – это ΠΏΠ»ΠΎΡ…ΠΎ. БСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹ извСстны ΠΊΠ°ΠΊ логичСскиС ошибки, ΠΈ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ. БущСствуСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ Π²Ρ‹Ρ€Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ break. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

while i < 10:
print(i)

if i == 5:
break

i += 1



while i < 10:

Β Β Β Β print(i)

Β Β Β Β 

Β Β Β Β if i == 5:

Β Β Β Β Β Β Β Β break

Β Β Β Β 

Β Β Β Β i += 1

Π’ этой части ΠΊΠΎΠ΄Π° ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, равняСтся Π»ΠΈ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ пСрСмСнная i Ρ†ΠΈΡ„Ρ€Π΅ 5. Если Π½Π΅Ρ‚, Ρ‚ΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ». Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π²Ρ‹Π΄Π°Ρ‡Π΅ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ достигаСт пяти, ΠΊΠΎΠ΄ останавливаСтся, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ while ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ», ΠΏΠΎΠΊΠ° пСрСмСнная Π½Π΅ достигнСт значСния 10. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ +=. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ярлык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… опСрациях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ -= ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ *=. ВстроСнный break Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ инструмСнт управлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°. БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ continue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов Π΅Π³ΠΎ примСнСния:

i = 0

while i < 10:
if i == 3:
i += 1
continue

print(i)
if i == 5:
break

i += 1



i = 0

Β 

while i < 10:

Β Β Β Β if i == 3:

Β Β Β Β Β Β Β Β i += 1

Β Β Β Β Β Β Β Β continue

Β Β Β Β 

Β Β Β Β print(i)

Β Β Β Β if i == 5:

Β Β Β Β Β Β Β Β break

Β Β Β Β 

Β Β Β Β i += 1

Π‘Π»Π΅Π³ΠΊΠ° Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ? ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ провСряСт, Π½Π΅ равняСтся Π»ΠΈ i Ρ‚Ρ€Π΅ΠΌ. Если Π΄Π°, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄Π°Ρ‡Π½ΠΎ пропускаСт Π²Ρ‹Π²ΠΎΠ΄ значСния 3 Π½Π° экран. Как ΠΈ Ρ€Π°Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ достигаСм значСния 5, ΠΌΡ‹ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ». БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚Π΅ΠΌΠ°, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΡŒ – это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ else ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else Π² Ρ†ΠΈΠΊΠ»Π°Ρ… выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ†ΠΈΠΊΠ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Главная Π·Π°Π΄Π°Ρ‡Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else, это поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

my_list = [1, 2, 3, 4, 5]

for i in my_list:
if i == 3:
print(«Item found!»)
break
print(i)
else:
print(«Item not found!»)



my_list = [1, 2, 3, 4, 5]

Β 

for i in my_list:

Β Β Β Β if i == 3:

Β Β Β Β Β Β Β Β print(«Item found!»)

Β Β Β Β Β Β Β Β break

Β Β Β Β print(i)

else:

Β Β Β Β print(«Item not found!»)

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Ρ€Π°Π·ΠΎΡ€Π²Π°Π»ΠΈ Ρ†ΠΈΠΊΠ», ΠΊΠΎΠ³Π΄Π° i Ρ€Π°Π²Π½ΠΎ 3. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ пропуску ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ провСсти экспСримСнт, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится Π²Π½Π΅ списка, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ. ЧСстно, Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ использовал Π΄Π°Π½Π½ΡƒΡŽ структуру Π·Π° всС Π³ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π²ΠΈΠ΄Π΅Π», ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π±Π»ΠΎΠ³Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π― Π²ΠΈΠ΄Π΅Π» нСсколько людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовали эту структуру для провоцирования ошибки, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ удаСтся Π½Π°ΠΉΡ‚ΠΈ Π² искомом Ρ†ΠΈΠΊΠ»Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вопрос рассматриваСтся вСсьма Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ. Π‘Ρ‚Π°Ρ‚ΡŒΡ написана ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Python.

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

НадСюсь, с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹ осознали всю Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Python. Они Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ простым, ΠΈ вСсьма понятным. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ while. Если Π²Ρ‹ всС Π΅Ρ‰Π΅ Π½Π΅ совсСм ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ.

Π¦ΠΈΠΊΠ» For Π² Python

Π¦ΠΈΠΊΠ» for Π² Python ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов, находящихся Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ эти элСмСнты? РазумССтся, Ρ‡Ρ‚ΠΎ сам ΠΏΠΎ сСбС ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов Π½Π°ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ дСйствиС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° for.


Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for Π² Python


НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ список чисСл. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ бСрСтся ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΈ распСчатываСтся Π½Π° экранС. Один Π²ΠΈΡ‚ΠΎΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ³ΠΎ дСйствия (взяли число ΠΈ распСчатали) — называСтся ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.


Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° for, прСдставим, ΠΊΠ°ΠΊ Π±Ρ‹ ΠΌΡ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ, Ссли Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ список с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ присвоим Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ num. ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌΡΡ ΠΏΠΎ индСксу ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту списка ΠΈ распСчатаСм ΠΈΡ…. На экранС Π²Ρ‹Π²Π΅Π»ΠΈΡΡŒ всС значСния ΠΈΠ· списка.




num = (5, 10, 15)

print(num[0])

print(num[1])

print(num[2])

5

10

15


НСтрудно Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ссли список Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ста чисСл, Ρ‚ΠΎ слово print придСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ 100 Ρ€Π°Π·. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΊΠ°Ρ‚ΠΈΡ‚, ΠΈΠ½Π°Ρ‡Π΅ ΠΊΠ°ΠΊΠΎΠΉ Π² Π½Π΅ΠΌ смысл?


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° for ΠΏΠΎ списку Π² Python


РСшим Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ (Π²Ρ‹Π²ΠΎΠ΄ элСмСнтов Π½Π° экран), Π½ΠΎ с использованиСм Ρ†ΠΈΠΊΠ»Π° for. Π¦ΠΈΠΊΠ» for Π±ΡƒΠ΄Π΅Ρ‚ сам Π±Ρ€Π°Ρ‚ΡŒ элСмСнты ΠΈΠ· списка, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ закончатся ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°.




num = (5, 10, 15) // 1

for elem in num: // 2

Β Β Β Β print (elem) // 3

5

10

15

// 1 — создали список num

// 2 — запускаСм Ρ†ΠΈΠΊΠ» for для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта (elem) Π² спискС num

// 3 — вывСсти Π½Π° экран всС элСмСнты

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ способом. Когда элСмСнты списка Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Ρ†ΠΈΠΊΠ» for ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.


Бинтаксис Ρ†ΠΈΠΊΠ»Π° for


  • for — ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, с английского языка пСрСводится ΠΊΠ°ΠΊ «Π΄Π»Ρ». Говоря простым языком — «Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта дСйствиС ΠΈΠ· Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°».
  • elem — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ elem ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° сСбя Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка для дальнСйшСго выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°.
  • : — послС двоСточия, с Π½ΠΎΠ²ΠΎΠΉ строки ΠΈ с отступом Π² 4 ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° — ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ дСйствиС.

Π—Π°Π΄Π°Ρ‡Π° Π½Π° Ρ†ΠΈΠΊΠ» for



УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ:

ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сумму чисСл Π² спискС.




РСшСниС:

a = (10, 20, 30)

summa = 0

for number in a:

Β Β Β Β summa = summa + number

print (summa)

60 // Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°


Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ


Помимо ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a со списком, ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ summa с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, обновляСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ summa со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ summa, помСнялось ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, с 0 Π΄ΠΎ 60.




summa = 0 + 10 // 10

Β Β Β Β 10 + 20 // 30

Β Β Β Β 30 + 30 // 60

Ѐункция range() Π² Python


Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли количСство элСмСнтов Π² спискС Π²Π½ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Π³Π»ΡƒΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС числа ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. НСобходимо Π±ΠΎΠ»Π΅Π΅ элСгантноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ Python Π΅ΡΡ‚ΡŒ встроСнная функция range(), которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Π΄Π²Π° ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Ѐункция range() Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. Если ΠΌΡ‹ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ range(0, 10), Ρ‚ΠΎ сгСнСрируСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 0,1,2,3,4,5,6,7,8,9. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ числа Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ послСднСго. Π—Π°Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл, ΠΎΡ‚ 5 Π΄ΠΎ 11 ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ список сгСнСрированных чисСл. ΠœΡ‹ Π²Ρ‹Π²Π΅Π»ΠΈ числа списка Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.




for i in range(5, 11):

Β Β Β Β print(i)

5

6

7

8

9

10

Π¦ΠΈΠΊΠ» for ΠΈ функция range() ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π°ΠΌ большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ вСсь список. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ всС Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ элСмСнту ΠΏΠΎ Π΅Π³ΠΎ индСксу.


Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π² Python


Π¦ΠΈΠΊΠ» называСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ, Ссли ΠΎΠ½ располагаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ вывСсти Π½Π° экран Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты, Ρ€Π°Π·Π½ΠΎΠ΅ количСство Ρ€Π°Π·.




cars = ["mazda", "opel", "audi", "honda"]

for i in range(len(cars)): // 0, 1, 2, 3

Β Β Β Β for h in range(i+1):

Β Β Β Β print(cars[i])

mazda

opel

opel

audi

audi

audi

honda

honda

honda

honda


Как Ρ‚Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ?


Ѐункция range() Ρƒ внСшнСго Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСксов ΠΎΡ‚ 0 Π΄ΠΎ 4. На ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° i = 0. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная h Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΠ΄Π½ΠΎ число ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ индСксом 0, вывСдСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ВСрнСмся Π²ΠΎ внСшний Ρ†ΠΈΠΊΠ» ΠΈ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ i = 1, Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ h = 0, 1 ΡƒΠΆΠ΅ находится Π΄Π²Π° числа. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for пройдСтся ΠΏΠΎ Π΄Π²ΡƒΠΌ числам Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ opel, вывСдСтся Π½Π° экран Π΄Π²Π° Ρ€Π°Π·Π°. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅, количСство ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.


  • Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 21.10.2019 10:29:40



  • ΠœΠΈΡ…Π°ΠΈΠ» Русаков

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π°Π²Ρ‚ΠΎΡ€Π° (ΠœΠΈΡ…Π°ΠΈΠ» Русаков) ΠΈ индСксируСмой прямой ссылкой Π½Π° сайт (http://myrusakov.ru)!

Π”ΠΎΠ±Π°Π²Π»ΡΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎ ΠΌΠ½Π΅ Π² Π΄Ρ€ΡƒΠ·ΡŒΡ Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅: http://vk.com/myrusakov.
Если Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΌΠ½Π΅ ΠΈ ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, Ρ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Ρ‘ Π² ΠΌΠΎΠ΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅: http://vk.com/rusakovmy.

Если Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π½Π° сайтС,
Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° обновлСния: ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° обновлСния

Если Ρƒ Вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы, Π»ΠΈΠ±ΠΎ Ρƒ Вас Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π²Ρ‹ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²Π½ΠΈΠ·Ρƒ страницы.

Если Π’Π°ΠΌ понравился сайт, Ρ‚ΠΎ размСститС ссылку Π½Π° Π½Π΅Π³ΠΎ (Ρƒ сСбя Π½Π° сайтС, Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅, Π² ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅):

Бписки (list). Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков

БСгодня я расскаТу ΠΎ Ρ‚Π°ΠΊΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ списки, опСрациях Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… списков ΠΈ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ списков.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ списки?

Бписки Π² Python — упорядочСнныС измСняСмыС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ массив, Π½ΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списки, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строку) встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ list:

>>> list('список')
['с', 'п', 'и', 'с', 'о', 'к']

Бписок ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°:

>>> s = []  # ΠŸΡƒΡΡ‚ΠΎΠΉ список
>>> l = ['s', 'p', ['isok'], 2]
>>> s
[]
>>> l
['s', 'p', ['isok'], 2]

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, список ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС количСство Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки), ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ.

И Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список — это Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков — способ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ список, примСняя Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ†ΠΈΠΊΠ» for.

>>> c = [c * 3 for c in 'list']
>>> c
['lll', 'iii', 'sss', 'ttt']

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТная конструкция Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков:

>>> c = [c * 3 for c in 'list' if c != 'i']
>>> c
['lll', 'sss', 'ttt']
>>> c = [c + d for c in 'list' if c != 'i' for d in 'spam' if d != 'a']
>>> c
['ls', 'lp', 'lm', 'ss', 'sp', 'sm', 'ts', 'tp', 'tm']

Но Π² слоТных случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ for для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ списков.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ создали, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ со списком Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Для списков доступны основныС встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков.

Π’Π°Π±Π»ΠΈΡ†Π° «ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков»

ΠœΠ΅Ρ‚ΠΎΠ΄Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚
list.append(x)ДобавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка
list.extend(L)Π Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ список list, добавляя Π² ΠΊΠΎΠ½Π΅Ρ† всС элСмСнты списка L
list.insert(i, x)ВставляСт Π½Π° i-Ρ‹ΠΉ элСмСнт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x
list.remove(x)УдаляСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π² спискС, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x. ValueError, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ элСмСнта Π½Π΅ сущСствуСт
list.pop([i])УдаляСт i-Ρ‹ΠΉ элСмСнт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ. Если индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, удаляСтся послСдний элСмСнт
list.index(x, [start [, end]])Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ x (ΠΏΡ€ΠΈ этом поиск вСдСтся ΠΎΡ‚ start Π΄ΠΎ end)
list.count(x)Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ x
list.sort([key=функция])Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ список Π½Π° основС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
list.reverse()Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ список
list.copy()ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚Π½Π°Ρ копия списка
list.clear()ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ список

НуТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строковых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ сам список, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

>>> l = [1, 2, 3, 5, 7]
>>> l.sort()
>>> l
[1, 2, 3, 5, 7]
>>> l = l.sort()
>>> print(l)
None

И, напослСдок, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками:

>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print(a.count(333), a.count(66.25), a.count('x'))
2 1 0
>>> a.insert(2, -1)
>>> a.append(333)
>>> a
[66.25, 333, -1, 333, 1, 1234.5, 333]
>>> a.index(333)
1
>>> a.remove(333)
>>> a
[66.25, -1, 333, 1, 1234.5, 333]
>>> a.reverse()
>>> a
[333, 1234.5, 1, 333, -1, 66.25]
>>> a.sort()
>>> a
[-1, 1, 66.25, 333, 333, 1234.5]

Π˜Π·Ρ€Π΅Π΄ΠΊΠ°, для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, списки Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ массивами (хотя Π² Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NumPy).

Π¦ΠΈΠΊΠ» for. Π£Ρ€ΠΎΠΊ 18 курса «Python. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»

Π¦ΠΈΠΊΠ» for Π² языкС программирования Python ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Π½Π΅ Ρ†ΠΈΠΊΠ» со счСтчиком, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ΠΌ являСтся for Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов? НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ список, состоящий ΠΈΠ· ряда элСмСнтов. Π‘Π½Π°Ρ‡Π°Π»Π° Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом ΠΌΡ‹ выполняСм ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ дСйствия Π² Ρ‚Π΅Π»Π΅ for. Нам Π½Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΠΈΡ… индСксам ΠΈ заботится, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… список заканчиваСтся, ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ итСрация бСссмыслСнна. Π¦ΠΈΠΊΠ» for сам ΠΏΠ΅Ρ€Π΅Π±Π΅Ρ€Π΅Ρ‚ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΊΠΎΠ½Π΅Ρ†.

>>> spisok = [10, 40, 20, 30]
>>> for element in spisok:
...     print(element + 2)
...
12
42
22
32

ПослС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ element. Имя здСсь ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ. НСрСдко ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ i. На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° for Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ присвоСн ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт ΠΈΠ· списка spisok. Π’Π°ΠΊ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ element связан с числом 10, Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ – с числом 40, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Когда элСмСнты Π² spisok Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Ρ†ΠΈΠΊΠ» for Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘ английского «for» пСрСводится ΠΊΠ°ΠΊ «Π΄Π»Ρ», «in» ΠΊΠ°ΠΊ «Π²». ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с языка программирования Π½Π° чСловСчСский ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ: для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² спискС Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°).

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π½Π° 2 ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π° экран. ΠŸΡ€ΠΈ этом сам список ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Π½Π΅ измСнялся:

>>> spisok
[10, 40, 20, 30]

НигдС Π½Π΅ шла Ρ€Π΅Ρ‡ΡŒ ΠΎ пСрСзаписи Π΅Π³ΠΎ элСмСнтов, ΠΎΠ½ΠΈ просто извлСкались ΠΈ использовались. Однако Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сам список, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² Π½Π΅ΠΌ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ. И Ρ‚ΡƒΡ‚ Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅ΠΉ индСкс элСмСнта, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ:

>>> i = 0
>>> for element in spisok:
...     spisok[i] = element + 2
...     i += 1
...
>>> spisok
[12, 42, 22, 32]

Но Ссли ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ счСтчик, Ρ‚ΠΎ Π²Ρ‹Π³ΠΎΠ΄Π° ΠΎΡ‚ использования Ρ†ΠΈΠΊΠ»Π° for Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°. Если Π·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ списка, Ρ‚ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ while. Π”Π»ΠΈΠ½Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Π² Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len().

>>> i = 0
>>> while i < len(spisok):
...     spisok[i] = spisok[i] + 2 # ΠΈΠ»ΠΈ spisok[i] += 2
...     i = i + 1 # ΠΈΠ»ΠΈ i += 1
...
>>> spisok
[14, 44, 24, 34]

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с Ρ†ΠΈΠΊΠ»ΠΎΠΌ while ΠΌΡ‹ избавились ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ element.

Ѐункция range()

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со встроСнной Π² Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ range(). «Range» пСрСводится ΠΊΠ°ΠΊ «Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½». Она ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Π΄Π²Π° ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π˜Ρ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ randrange() ΠΈΠ· модуля random. Если Π·Π°Π΄Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ числа ΠΎΡ‚ 0 Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ числа, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ. Если Π·Π°Π΄Π°Π½Ρ‹ Π΄Π²Π°, Ρ‚ΠΎ числа Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ. Если Π·Π°Π΄Π°Π½Ρ‹ Ρ‚Ρ€ΠΈ, Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ число – это шаг.

Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ randrange(), функция range() Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ ΠΎΠ΄Π½ΠΎ случайноС число Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. Она Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайныС числа. Она Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. Π’Π°ΠΊ, range(5, 11) сгСнСрируСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 5, 6, 7, 8, 9, 10. Однако это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ структура Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° «ΡΠΏΠΈΡΠΎΠΊ». Ѐункция range() ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ своСго класса – Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹:

>>> a = range(-10, 10)
>>> a
range(-10, 10)
>>> type(a)
<class 'range'>

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ чисСл, ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Π΅ элСмСнтам:

>>> a[0]
-10
>>> a[5]
-5
>>> a[15]
5
>>> a[-1]
9

Π₯отя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списков, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ range() относятся ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ нСизмСняСмых:

>>> a[10] = 100
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'range' object does not support item assignment

Π¦ΠΈΠΊΠ» for ΠΈ range()

Π˜Ρ‚Π°ΠΊ, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ понадобилась Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ range() Π² Ρ‚Π΅ΠΌΠ΅ ΠΏΡ€ΠΎ Ρ†ΠΈΠΊΠ» for? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вмСстС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ Ρ‚Π°Π½Π΄Π΅ΠΌ. For ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ while, позволяСт Π½Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, достигнут Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ† структуры. НС Π½Π°Π΄ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ счСтчик для этого, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ условиС Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, range() Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ индСксы для элСмСнтов Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ списка.

>>> range(len(spisok))
range(0, 4)

Π—Π΄Π΅ΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len() измСряСтся Π΄Π»ΠΈΠ½Π° списка. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½Π° Ρ€Π°Π²Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ. ПослС этого число 4 пСрСдаСтся Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ range(), ΠΈ ΠΎΠ½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΎΡ‚ 0 Π΄ΠΎ 3 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· индСксы элСмСнтов нашСго списка.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ «ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ» for ΠΈ range():

>>> for i in range(len(spisok)):
...     spisok[i] += 2
...
>>> spisok
[16, 46, 26, 36]

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° for бСрутся элСмСнты вовсС Π½Π΅ списка, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° range. Бписок, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ планируСтся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Ρ‚ΡƒΡ‚ ΠΏΠΎ-сути Π½Π΅ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚. Если Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ списка, Ρ‚ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: for i in range(4). Π’ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ i Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°, вопрос Π²Ρ‚ΠΎΡ€ΠΎΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ВмСсто ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° i ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Ѐункция enumerate()

Π’ Python Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° встроСнная функция, которая часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ for. Π­Ρ‚ΠΎ функция enumerate(). Если range() позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ индСксы элСмСнтов списка, Ρ‚ΠΎ enumerate() Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, состоящих ΠΈΠ· индСкса элСмСнта ΠΈ значСния элСмСнта.

>>> spisok = [16, 46, 26, 36]
>>> for i in enumerate(spisok):
...     print(i)
...
(0, 16)
(1, 46)
(2, 26)
(3, 36)

Π­Ρ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ индСкс ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°:

>>> for item in enumerate(spisok):
...     print(item[0], item[1])
...
0 16
1 46
2 26
3 36

Однако Ρ‡Π°Ρ‰Π΅ это Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Ρ‰Π΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ for, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ in:

>>> for id, val in enumerate(spisok):
...     print(id, val)
...
0 16
1 46
2 26
3 36

Если функция enumerate() Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ°, Π·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ range() Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ for? На самом Π΄Π΅Π»Π΅ Π½Π΅Π·Π°Ρ‡Π΅ΠΌ, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ Ρ‚Π°ΠΊ Π½Π΅ ΠΏΡ€ΠΎΡ‰Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° значСния Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ индСксы. Однако слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ нюанс. Ѐункция enumerate() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Когда Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ сгСнСрировали значСния, Ρ‚ΠΎ становятся «ΠΏΡƒΡΡ‚Ρ‹ΠΌΠΈ». Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· ΠΏΠΎ Π½ΠΈΠΌ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ нСльзя.

Ѐункция range() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π₯отя Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ Π² ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, сам ΠΏΠΎ сСбС Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π½Π΅ являСтся.

Когда range() ΠΈ enumerate() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ for, Ρ‚ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ range- ΠΈ enumerate-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ. Но Ссли ΠΌΡ‹ присваиваСм эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Ρ€Π°Π·Π½ΠΈΡ†Π° Π΅ΡΡ‚ΡŒ:

>>> r_obj = range(len(spisok))
>>> e_obj = enumerate(spisok)
>>> for i in r_obj:
...     if i == 1:
...             break
...
>>> for i in e_obj:
...     if i[0] == 1:
...             break
...
>>> for i in r_obj:
...     print(i)
...
0
1
2
3
>>> for i in e_obj:
...     print(i)
...
(2, 26)
(3, 36)

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° элСмСнтС с индСксом 1. Когда снова прогоняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» for, Ρ‚ΠΎ Π² случаС r_obj ΠΎΠ±Ρ…ΠΎΠ΄ начинаСтся сначала, Π° Π² случаС e_obj продолТаСтся послС мСста останова. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ e_obj ΡƒΠΆΠ΅ Π½Π΅ содСрТит ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ элСмСнтов.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

  1. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ список случайными числами. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² ΠΊΠΎΠ΄Π΅ Ρ†ΠΈΠΊΠ» for, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range() ΠΈ randint().

  2. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ range (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½) ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ встроСнной Π² Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list(), Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊ списку. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ список с элСмСнтами ΠΎΡ‚ 0 Π΄ΠΎ 100 ΠΈ шагом 17.

  3. Π’ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ спискС, состоящСм ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл, посчитайтС количСство ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Π’Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран.

  4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая заполняСт список ΠΏΡΡ‚ΡŒΡŽ словами, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, измСряСт Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова ΠΈ добавляСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ список. НапримСр, список слов – [‘yes’, ‘no’, ‘maybe’, ‘ok’, ‘what’], список Π΄Π»ΠΈΠ½ – [3, 2, 5, 2, 4]. Оба списка Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° экран.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ Π² android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ pdf-вСрсии курса

Python для i в спискС

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

Загрузка…

  1. ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ
    Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ

  2. Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ сообщСство

    • ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

      ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅
      Π±ΠΎΠ»Ρ‚Π°Ρ‚ΡŒ

    • ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°-стСка

.Алгоритм

— Python: для Ρ†ΠΈΠΊΠ»ΠΎΠ² — для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0, len (список) vs для i Π² спискС

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

Загрузка…

.

python — доступ ΠΊ индСксу Π² Ρ†ΠΈΠΊΠ»Π°Ρ… for?

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

.

Бписок Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ряд составных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, часто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ. Бписок — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Python.


Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список?

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python список создаСтся ΠΏΡƒΡ‚Π΅ΠΌ помСщСния всСх элСмСнтов (элСмСнтов) Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [] , Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми.

ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС количСство элСмСнтов ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ρ†Π΅Π»Ρ‹Π΅, с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, строковыС ΠΈ Ρ‚. Π”.)).

  # пустой список
my_list = []

# список Ρ†Π΅Π»Ρ‹Ρ… чисСл
my_list = [1, 2, 3]

# список со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
my_list = [1, Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β», 3.4]  

Бписок ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ список Π² качСствС элСмСнта. Π­Ρ‚ΠΎ называСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ списком.

  # Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список
my_list = ["ΠΌΡ‹ΡˆΡŒ", [8, 4, 6], ['a']]  

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнтам ΠΈΠ· списка?

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы доступа ΠΊ элСмСнтам списка.

Бписок ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ индСкса [] для доступа ΠΊ элСмСнту Π² спискС.Π’ Python индСксы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0. Π˜Ρ‚Π°ΠΊ, список ΠΈΠ· 5 элСмСнтов Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ индСкс ΠΎΡ‚ 0 Π΄ΠΎ 4.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ индСксам, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ этих, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ IndexError . ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ float ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹, это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ TypeError .

Доступ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ спискам осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ индСксации.

  # Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка

my_list = ['p', 'r', 'o', 'b', 'e']

# Π’Ρ‹Π²ΠΎΠ΄: p
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list [0])

# Π’Ρ‹Π²ΠΎΠ΄: o
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list [2])

# Π’Ρ‹Π²ΠΎΠ΄: e
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list [4])

# Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список
n_list = ["Бчастливо", [2, 0, 1, 5]]

# Π’Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ индСксированиС
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (n_list [0] [1])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (n_list [1] [3])

# Ошибка! Для индСксации ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΠΎΠ΅ число
print (my_list [4.0])  

Π’Ρ‹Ρ…ΠΎΠ΄

  с.
ΠΎ
Π΅
Π°
5
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» Β«<строка>Β», строка 21, Π² <ΠΌΠΎΠ΄ΡƒΠ»Π΅>
TypeError: индСксы списка Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ срСзами, Π° Π½Π΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой  

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация

Python допускаСт ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ своих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. ИндСкс -1 относится ΠΊ послСднСму элСмСнту, -2 — ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ послСднСму элСмСнту ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

  # ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация Π² списках
my_list = ['p', 'r', 'o', 'b', 'e']

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист [-1])

print (my_list [-5])  

Когда ΠΌΡ‹ запустим Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

  e
p  

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков Π² Python


Как Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ списки Π² Python?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ элСмСнтов Π² спискС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° срСза : (Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅).

  # НарСзка списков Π² Python

my_list = ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']

# элСмСнты с 3-Π³ΠΎ ΠΏΠΎ 5-ΠΉ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list [2: 5])

# элСмСнтов, начиная с 4-Π³ΠΎ
print (my_list [: - 5])

# элСмСнты с ΡˆΠ΅ΡΡ‚ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list [5:])

# элСмСнта ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
print (my_list [:])  

Π’Ρ‹Ρ…ΠΎΠ΄

  ['o', 'g', 'r']
['p', 'r', 'o', 'g']
['a', 'm', 'i', 'z']
['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']  

НарСзку ΠΌΠΎΠΆΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ индСкс находится ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.Π˜Ρ‚Π°ΠΊ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π° индСкса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ эту Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· списка.

Π’Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ элСмСнта ΠΈΠ· списка Π² Python


Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² список?

Бписки измСняСмы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡ… элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строки ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания ( = ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ элСмСнтов.

  # Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спискС
odd = [2, 4, 6, 8]

# ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 1-ΠΉ элСмСнт
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ [0] = 1

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)

# ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 2-ΠΉ Π½Π° 4-ΠΉ элСмСнты
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ [1: 4] = [3, 5, 7]

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (нСчСтная)  

Π’Ρ‹Ρ…ΠΎΠ΄

  [1, 4, 6, 8]
[1, 3, 5, 7]  

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт Π² список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append () ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° extend () .

  # Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ списков Π² Python
odd = [1, 3, 5]

odd.append (7)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)

odd.extend ([9, 11, 13])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (нСчСтная)  

Π’Ρ‹Ρ…ΠΎΠ΄

  [1, 3, 5, 7]
[1, 3, 5, 7, 9, 11, 13]  

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + для объСдинСния Π΄Π²ΡƒΡ… списков. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ называСтся ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠ΅ΠΉ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ * повторяСт список Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.

  # ОбъСдинСниС ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ списков
odd = [1, 3, 5]

print (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ + [9, 7, 5])

print (["re"] * 3)  

Π’Ρ‹Ρ…ΠΎΠ΄

  [1, 3, 5, 9, 7, 5]
[Β«Ρ€Π΅Β», Β«Ρ€Π΅Β», Β«Ρ€Π΅Β»]  

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ мСсто с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° insert () ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСсколько элСмСнтов, сТав Π΅Π³ΠΎ Π² пустой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ списка.

  # ДСмонстрация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° list insert ()
odd = [1, 9]
odd.insert (1,3)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)

Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ [2: 2] = [5, 7]

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (нСчСтная)  

Π’Ρ‹Ρ…ΠΎΠ΄

  [1, 3, 9]
[1, 3, 5, 7, 9]  

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько элСмСнтов ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова del . Он ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ список.

  # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов списка
my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']

# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт
дСль ΠΌΠΎΠΉ_лист [2]

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько элСмСнтов
дСль ΠΌΠΎΠΉ_лист [1: 5]

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь список
del my_list

# Ошибка: список Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½
print (my_list)  

Π’Ρ‹Ρ…ΠΎΠ΄

  ['p', 'r', 'b', 'l', 'e', ​​'m']
['Π²Π΅Ρ‡Π΅Ρ€Π°']
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» Β«<строка>Β», строка 18, Π² <ΠΌΠΎΠ΄ΡƒΠ»Π΅>
NameError: имя my_list Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ  

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ remove () для удалСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ pop () для удалСния элСмСнта ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ индСксу.

ΠœΠ΅Ρ‚ΠΎΠ΄ pop () удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ послСдний элСмСнт, Ссли индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ списки Π² Π²ΠΈΠ΄Π΅ стСка (структура Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΡˆΠ΅Π» — послСдний ΡƒΡˆΠ΅Π»Β»).

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ clear () для очистки списка.

  my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']
my_list.remove ('p')

# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'o', 'b', 'l', 'e', ​​'m']
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

# Π’Ρ‹Π²ΠΎΠ΄: 'o'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list.pop (1))

# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'b', 'l', 'e', ​​'m']
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

# Π’Ρ‹Π²ΠΎΠ΄: 'm'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list.ΠΏΠΎΠΏ ())

# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'b', 'l', 'e']
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

my_list.clear ()

# Π’Ρ‹Ρ…ΠΎΠ΄: []
print (my_list)  

Π’Ρ‹Ρ…ΠΎΠ΄

  ['r', 'o', 'b', 'l', 'e', ​​'m']
ΠΎ
['r', 'b', 'l', 'e', ​​'m']
ΠΌ
['r', 'b', 'l', 'e']
[]  

НаконСц, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты Π² спискС, назначая пустой список части элСмСнтов.

  >>> my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']
>>> my_list [2: 3] = []
>>> ΠΌΠΎΠΉ_лист
['p', 'r', 'b', 'l', 'e', ​​'m']
>>> my_list [2: 5] = []
>>> ΠΌΠΎΠΉ_лист
['p', 'r', 'm']  

Бписок ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Python

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступныС для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² списка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python, прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅.

Доступ ΠΊ Π½ΠΈΠΌ осущСствляСтся ΠΊΠ°ΠΊ list.method () . НСкоторыС ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡƒΠΆΠ΅ использовались Π²Ρ‹ΡˆΠ΅.

НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² списка Python:

  # ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списка Python
my_list = [3, 8, 1, 6, 0, 8, 4]

# Π’Ρ‹Π²ΠΎΠ΄: 1
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list.index (8))

# Π’Ρ‹Π²ΠΎΠ΄: 2
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_list.count (8))

my_list.sort ()

# Π’Ρ‹Π²ΠΎΠ΄: [0, 1, 3, 4, 6, 8, 8]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_лист)

my_list.reverse ()

# Π’Ρ‹Π²ΠΎΠ΄: [8, 8, 6, 4, 3, 1, 0]
print (my_list)  

Π’Ρ‹Ρ…ΠΎΠ΄

  1
2
[0, 1, 3, 4, 6, 8, 8]
[8, 8, 6, 4, 3, 1, 0]  

ПониманиС списка: элСгантный способ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ списка

ПониманиС списка — это элСгантный ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ способ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ списка ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка Π² Python.

БоставлСниС списка состоит ΠΈΠ· выраТСния, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания списка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ увСличСния 2.

  pow2 = [2 ** x для x в диапазонС (10)]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (pow2)  

Π’Ρ‹Ρ…ΠΎΠ΄

  [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]  

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ эквивалСнтСн:

  pow2 = []
для x в диапазонС (10):
   pow2.append (2 ** x)  

БоставлСниС списка ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ для ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² if.ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ , Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты для Π½ΠΎΠ²ΠΎΠ³ΠΎ списка. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

  >>> pow2 = [2 ** x для x в диапазонС (10), Ссли x> 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x для x в диапазонС (20), Ссли x% 2 == 1]
>>> странно
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x + y вмСсто x Π² ['Python', 'C'] для y Π² ['Language', 'Programming']]
['Python Language', 'Python Programming', 'C Language', 'C Programming']  

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со списками Π² Python

Бписок участников тСста

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ элСмСнт Π² спискС ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π² .

  my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']

# Π’Ρ‹Π²ΠΎΠ΄: True
print ('p' Π² my_list)

# Π’Ρ‹Π²ΠΎΠ΄: Π›ΠΎΠΆΡŒ
print ('a' Π² my_list)

# Π’Ρ‹Π²ΠΎΠ΄: True
print ('c' отсутствуСт Π² my_list)  

Π’Ρ‹Ρ…ΠΎΠ΄

  Π’Π΅Ρ€Π½ΠΎ
Π›ΠΎΠΆΡŒ
ΠŸΡ€Π°Π²Π΄Π°  

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ списку

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» для , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС.

  для Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ['яблоко', 'Π±Π°Π½Π°Π½', 'ΠΌΠ°Π½Π³ΠΎ]:
    print («МнС нравится», Ρ„Ρ€ΡƒΠΊΡ‚)  

Π’Ρ‹Ρ…ΠΎΠ΄

  Я люблю яблоко
Я люблю банан
Я люблю манго  

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *