Найти Π² Π”Π·Π΅Π½Π΅

πŸ’‘Π‘ΠΏΠΈΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ устроСны #tpy

ОглавлСниС

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

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

-2

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ характСристики списков Π² Python:

-3

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания списка:

-4
my_list = [1, 2, 3, 'four', 5.0]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с списками:

-5
# Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² ΠΊΠΎΠ½Π΅Ρ† списка
my_list.append(6)

# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
my_list.remove('four')

# ИзмСнСниС элСмСнта ΠΏΠΎ индСксу
my_list[1] = 7

# ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ списка
length = len(my_list)

# Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ подсписка
sub_list = my_list[2:4] # Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ список [3, 7]

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия элСмСнта Π² спискС
if 5.0 in my_list:
print("5.0 Π΅ΡΡ‚ΡŒ Π² спискС")

Бписки ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ мноТСство встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сортировка, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ сортировка, объСдинСниС списков ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ списков

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² списках - это числовыС значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обращСния ΠΊ элСмСнтам списка. Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ начинаСтся с 0, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 0, Π²Ρ‚ΠΎΡ€ΠΎΠΉ - индСкс 1, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ **Python** индСксы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ аспСкты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с индСксами Π² списках:

  1. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ начиная с 0. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ элСмСнтов Π² спискС.
-6
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = ['a', 'b', 'c', 'd']
print(my_list[0]) # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'a'
print(my_list[2]) # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'c'

2. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы: ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΊΠΎΠ½Ρ†Π° списка. -1 соотвСтствуСт послСднСму элСмСнту, -2 - прСдпослСднСму ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

-7
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = ['a', 'b', 'c', 'd']
print(my_list[-1]) # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'd'
print(my_list[-3]) # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'b'

3. Π’Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ списка: ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ индСксам Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Python Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ "IndexError". Π’Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ индСксы находятся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

-8
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = ['a', 'b', 'c']
print(my_list[3]) # Π’Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ IndexError, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСкс 3 Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ списка

4. Π‘Ρ€Π΅Π·Ρ‹ (slicing): Π‘Ρ€Π΅Π·Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подсписок элСмСнтов, ΡƒΠΊΠ°Π·Π°Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСксы Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅.

-9
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = ['a', 'b', 'c', 'd', 'e']
sub_list = my_list[1:4] # Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ элСмСнты с индСксами 1, 2 ΠΈ 3: ['b', 'c', 'd']

5. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈ срСзах: ΠŸΡ€ΠΈ использовании срСзов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, срСз начнСтся с Π½Π°Ρ‡Π°Π»Π° списка, Π° Ссли ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, срСз продолТится Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка.

-10
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = ['a', 'b', 'c', 'd', 'e']
sub_list1 = my_list[:3] # Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ my_list[0:3], Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ['a', 'b', 'c']
sub_list2 = my_list[2:] # Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ my_list[2:5], Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ['c', 'd', 'e']
sub_list3 = my_list[:] # Копия всСго списка: ['a', 'b', 'c', 'd', 'e']

ИспользованиС индСксов ΠΈ срСзов позволяСт эффСктивно ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнтами списков Π² Python.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ списков (len, max, min, sum)

Π’ Python для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с списками ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ манипуляции с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² списках.

Π’ΠΎΡ‚ нСсколько Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

1. len(): Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов Π² спискС.

-11
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3, 4, 5]
length = len(my_list) # length Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 5

2. max(): Ѐункция max() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наибольший элСмСнт Π² спискС.

-12
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [7, 2, 9, 4, 6]
maximum = max(my_list) # maximum Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 9

3. min(): Ѐункция min() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наимСньший элСмСнт Π² спискС.

-13
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [7, 2, 9, 4, 6]
minimum = min(my_list) # minimum Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 2

4. sum(): Ѐункция sum() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму всСх числовых элСмСнтов Π² спискС. Однако всС элСмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числовыми, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

-14
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3, 4, 5]
total = sum(my_list) # total Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 15

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ списков. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len() для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ max() ΠΈ min() для нахоТдСния наибольшСго ΠΈ наимСньшСго элСмСнтов, Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sum() для вычислСния суммы числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спискС.

-15

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков - это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ‚ΠΈΠΏΠ° "список" Π² **Python**. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ списками, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнтов, сортировка, поиск ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² списков:

1. .append(element): ДобавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка.

-16
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3]
my_list.append(4) # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [1, 2, 3, 4]

2. .insert(index, element): ВставляСт элСмСнт Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ индСкс.

-17
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3]
my_list.insert(1, 5) # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [1, 5, 2, 3]

3. .remove(element): УдаляСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ элСмСнт с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

-18
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3, 2]
my_list.remove(2) # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [1, 3, 2]

4. .pop(index): УдаляСт элСмСнт ΠΏΠΎ индСксу ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, удаляСтся ΠΈ возвращаСтся послСдний элСмСнт.

-19
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3]
popped_value = my_list.pop(1) # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [1, 3], Π° popped_value Ρ€Π°Π²Π½ΠΎ 2

5. .index(element): Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.

-20
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [10, 20, 30, 20]
index = my_list.index(20) # index Ρ€Π°Π²Π΅Π½ 1

6. .sort(): Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты списка Π² порядкС возрастания (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈΠ»ΠΈ с использованиСм ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΊΠ»ΡŽΡ‡Π°.

-21
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [3, 1, 4, 1, 5, 9, 2]
my_list.sort() # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [1, 1, 2, 3, 4, 5, 9]

7. .reverse(): Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ порядок элСмСнтов Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ.

-22
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 3]
my_list.reverse() # Π’Π΅ΠΏΠ΅Ρ€ΡŒ my_list содСрТит [3, 2, 1]

8. .count(element): Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС.

-23
#ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
my_list = [1, 2, 2, 3, 2, 4]
count = my_list.count(2) # count Ρ€Π°Π²Π΅Π½ 3

Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², доступных для списков Π² Python.
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ списками, измСняя, обновляя ΠΈ анализируя ΠΈΡ… содСрТимоС.

БписочныС выраТСния

БписочныС выраТСния (list comprehensions) Π² Python - это ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ создания Π½ΠΎΠ²Ρ‹Ρ… списков Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… списков. БписочныС выраТСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ список ΠΏΡƒΡ‚Π΅ΠΌ примСнСния выраТСния ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π² исходном спискС ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов ΠΏΡ€ΠΈ нСобходимости. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python.

Бинтаксис списочных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

new_list = [expression for item in iterable if condition]
-24

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ списочных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² чисСл ΠΎΡ‚ 1 Π΄ΠΎ 5:

-25
squares = [x**2 for x in range(1, 6)]
# Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [1, 4, 9, 16, 25]

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΈΠ· исходного списка:

-26
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
# Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [2, 4, 6, 8, 10]

3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр:

-27
words = ['hello', 'world', 'python', 'list', 'comprehensions']
uppercase_words = [word.upper() for word in words]
# Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ['HELLO', 'WORLD', 'PYTHON', 'LIST', 'COMPREHENSIONS']

БписочныС выраТСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… списков ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…. Они часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вмСсто Ρ†ΠΈΠΊΠ»ΠΎΠ² for ΠΏΡ€ΠΈ нСобходимости создания ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… списков Π½Π° основС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ Π•Π“Π­, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ спискам

β„– 7030Β Danov2303Β (Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ: Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ)

(А.Π‘ΠΎΠ³Π΄Π°Π½ΠΎΠ²) ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» элСктронной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, содСрТащСй Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΡˆΠ΅ΡΡ‚ΡŒ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ количСство строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС условия:

  • Π² строкС Ρ‚Ρ€ΠΈ числа ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ Ρ€ΠΎΠ²Π½ΠΎ Π΄Π²Π° Ρ€Π°Π·Π°;
  • эти Ρ‚Ρ€ΠΈ числа ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ стороны ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ число.

Π€Π°ΠΉΠ»Ρ‹ ΠΊ заданию: 9.csv

-28
count = 0
for s in open('9.txt'):
M = sorted([int(i) for i in s.split()])
if len(set(M)) == 3 and all(M.count(x) == 2 for x in M):
a, b, c = sorted(set(M))
if c ** 2 == a ** 2 + b ** 2:
count += 1
print(count)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  1. count = 0 - Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ count ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.
  2. for s in open('9.txt'): - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ строки Ρ„Π°ΠΉΠ»Π° '9.txt' ΠΈ присваиваСм ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ s.
  3. M = sorted([int(i) for i in s.split()]) - Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ список M, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит цСлочислСнныС элСмСнты строки s, отсортированныС Π² порядкС возрастания.
  4. if len(set(M)) == 3 and all(M.count(x) == 2 for x in M): - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, состоит Π»ΠΈ список M ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… чисСл, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… встрСчаСтся Ρ€ΠΎΠ²Π½ΠΎ 2 Ρ€Π°Π·Π° Π² спискС M.
  5. a, b, c = sorted(set(M)) - ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ значСниям a, b ΠΈ c ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ отсортированныС значСния ΠΈΠ· списка M.
  6. if c 2 == a 2 + b ** 2: - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ большСС число c ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ суммы ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… чисСл a ΠΈ b(Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ΠŸΠΈΡ„Π°Π³ΠΎΡ€Π°).
  7. count += 1 - Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Ссли всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.
  8. print(count) - Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° экран Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count.

ΠžΡ‚Π²Π΅Ρ‚: 148

Π’ΠΈΠΏ 17 β„– 37371

Π’ Ρ„Π°ΠΉΠ»Π΅ содСрТится ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· 10 000 Ρ†Π΅Π»Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл. КаТдоС число Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚Β 10 000.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ сначала количСство ΠΏΠ°Ρ€ элСмСнтов ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΊΡ€Π°Ρ‚Π½Π° 60, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ· разностСй элСмСнтов Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΏΠΎΠ΄ ΠΏΠ°Ρ€ΠΎΠΉ подразумСваСтся Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Для выполнСния этого задания слСдуСт Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Бсылка Π½Π° Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

-29
f = open('17.txt')
M = [int(i) for i in f]
maxi = 0
count = 0

for i in range(len(M) - 1):
for j in range(i + 1, len(M)):
if (M[i] - M[j]) % 60 == 0:
count += 1
maxi = max(maxi, abs(M[i] - M[j]))
print(count, maxi)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ наш Ρ„Π°ΠΉΠ»
  2. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ список M, считываСм всС строки ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку Π² Ρ†Π΅Π»ΠΎΠ΅ число
  3. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ maxi, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ· разностСй элСмСнтов
  4. ΠΈ count, для счёта количСства ΠΏΠ°Ρ€ элСмСнтов
  5. -
  6. ΠŸΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΏΠΎ элСмСнтам списка
  7. ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌ Π΅Ρ‰Ρ‘ Ρ€Π°Π·, Ρ‚.Π΅. ΠΏΠΎ элСмСнтам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ
  8. Если Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΊΡ€Π°Ρ‚Π½Π° 60
  9. Ρ‚ΠΎ добавляСм +1 ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count
  10. ΠΈ ΠΏΡ€ΠΈΡ€Π°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ maxi ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ· разностСй элСмСнтов Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€
  11. Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ количСство ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚Π²Π΅Ρ‚: 8327229960

β„– 7853 Danov2304 (Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ: Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ) А.Π‘ΠΎΠ³Π΄Π°Π½ΠΎΠ²

ВСкстовый Ρ„Π°ΠΉΠ» состоит ΠΈΠ· символов латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° ΠΈ дСсятичных Ρ†ΠΈΡ„Ρ€. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ максимальноС количСство ΠΈΠ΄ΡƒΡ‰ΠΈΡ… подряд символов, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π° символа ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° N,O,T Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… комбинациях(с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ) Π½Π΅ стоят Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ символ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ).

НапримСр, Π’EN ΠΈΠ»ΠΈ NUΠ’ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² искомой подстрокС.

Π€Π°ΠΉΠ»Ρ‹ ΠΊ заданию: 24.txt

-30
import itertools
s = open('24.txt').readline()
maxi = 0
M = []
for i in itertools.product('QWERTYUIOPASDFGHJKLZXCVBNM0123456789', repeat = 3):
r = ''.join(i)
if r[0] in 'NOT' and r[2] in 'NOT':
M.append(r)
for x in M:
s = s.replace(x, ' ')
maxi = max([len(i) for i in s.split()])
print(maxi)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  1. import itertools - ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ itertools, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.
  2. s = open('24.txt').readline() - здСсь ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» 24.txt с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open() ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ строку Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° readline(), присваивая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ s.
  3. maxi = 0 - это пСрСмСнная, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для хранСния максимального значСния Π΄Π»ΠΈΠ½Ρ‹ строки.
  4. M = [] - это пустой список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для хранСния всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ строк.
  5. for i in itertools.product('QWERTYUIOPASDFGHJKLZXCVBNM0123456789', repeat = 3): - здСсь ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ product() ΠΈΠ· модуля itertools, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… символов Π΄Π»ΠΈΠ½ΠΎΠΉ 3. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΊΠΎΠ΄Π°.
  6. r = ''.join(i) - здСсь ΠΌΡ‹ объСдиняСм символы ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° i, созданных Ρ€Π°Π½Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ product(), Π² ΠΎΠ΄Π½Ρƒ строку r с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° join().
  7. if r[0] in 'NOT' and r[2] in 'NOT': - здСсь ΠΌΡ‹ провСряСм, Ρ‡Ρ‚ΠΎ символы r[0] ΠΈ r[2] находятся Π² строкС 'NOT' с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° in. Если Π΄Π°, Ρ‚ΠΎ ΠΌΡ‹ добавляСм строку r Π² список M.
  8. Π‘Ρ‚Ρ€ΠΎΠΊΠ° M.append(r) добавляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ r Π² список M.
  9. for x in M: - здСсь ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ список M.
  10. s = s.replace(x, ' ') - здСсь ΠΌΡ‹ замСняСм всС вхоТдСния строки x Π² строкС s Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° replace().
  11. maxi = max([len(i) for i in s.split()]) - здСсь ΠΌΡ‹ раздСляСм строку s Π½Π° слова с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° split() ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ слова Π² этом спискС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ max(). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ maxi.
  12. print(maxi) - здСсь ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ maxi Π½Π° экран.

ΠžΡ‚Π²Π΅Ρ‚:1461

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ нас Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π•Π“Π­ | itpy πŸ‘¨β€πŸ’»

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Ρƒ: t.me/informatika_kege_itpy
ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Ρƒ: t.me/informatika_kege_itpy