Бписки ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ python: Бписки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари Π² Python

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

Бписки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари Π² Python

python-scripts.com

Бписки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари Π² Python

Π°Π²Ρ‚ΠΎΡ€

7-11 ΠΌΠΈΠ½ΡƒΡ‚


Python содСрТит Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ с высокой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари. ЦСль Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас с Π½ΠΈΠΌΠΈ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅. Они Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ слоТныС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ надСюсь, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. ПослС освоСния этих Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π² сочСтании со строками ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²Ρ‹ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½Π΅Ρ‚Π΅ΡΡŒ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Python. Π’Π°ΠΌ понадобится ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠΎΠ² для создания 99% ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Бписки

Бписки Python схоТи с массивами Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Π’ Python, пустой список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

my_list = []

my_list = list()

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ встроСнного инструмСнта Python – list. Бписок состоит ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… элСмСнтов, ΠΊΠ°ΠΊ строки, Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ смСси Ρ‚ΠΈΠΏΠΎΠ². Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

my_list = [1, 2, 3]

my_list2 = [«a», «b», «c»]

my_list3 = [«a», 1, «Python», 5]

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ список содСрТит 3 числа, Π²Ρ‚ΠΎΡ€ΠΎΠΉ 3 строки, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ содСрТит смСсь. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки списков, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

my_nested_list = [my_list, my_list2]

print(my_nested_list) # [[1, 2, 3], [‘a’, ‘b’, ‘c’]]

Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° списка вмСстС. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это – ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° extend:

combo_list = [1]

one_list = [4, 5]

a = combo_list.extend(one_list)

print(a) # [1, 4, 5]

НСмного ΠΏΡ€ΠΎΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π° списка вмСстС.

my_list = [1, 2, 3]

my_list2 = [«a», «b», «c»]

combo_list = my_list + my_list2

print(combo_list) # [1, 2, 3, ‘a’, ‘b’, ‘c’]

Π”Π°, это ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ просто. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ взглянСм Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ это дСлаСтся:

alpha_list = [34, 23, 67, 100, 88, 2]

alpha_list.sort()

print(alpha_list) # [2, 23, 34, 67, 88, 100]

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Π’ΠΈΠ΄ΠΈΡ‚Π΅? Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

alpha_list = [34, 23, 67, 100, 88, 2]

sorted_list = alpha_list.sort()

print(sorted_list) # None

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ сортированный список ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Однако, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() Π² спискС, ΠΎΠ½ сортируСт список Π½Π° мСстС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ None, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Null Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, просто ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сортируСтС Π½Π° мСстС, ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ список Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ это со строкой:

a = alpha_list[0:3]

print(a) # [2, 23, 34]

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π΄Π°Π΅Ρ‚ список ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π²Ρ‹Ρ… элСмСнтов.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° список, Π½ΠΎ Π²Ρ‹ создаСтС Π΅Π³ΠΎ с ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками, вмСсто ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ…. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный инструмСнт для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ список ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

my_tuple = (1, 2, 3, 4, 5)

a = my_tuple[0:3]

print(a) # (1, 2, 3)

another_tuple = tuple()

abc = tuple([1, 2, 3])

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ дСмонстрируСт способ создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΏΡΡ‚ΡŒΡŽ элСмСнтами. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°Ρ€Π΅Π·ΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Однако, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ! ПослСдниС Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова tuple (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈ пСрСводится ΠΊΠ°ΠΊ Β«ΠΊΠΎΡ€Ρ‚Π΅ΠΆΒ»). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ΄ просто создаСт пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ содСрТит Ρ‚Ρ€ΠΈ элСмСнта. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ список. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…Β Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ нашСм случаС, ΠΌΡ‹ конвСртируСм список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ abc ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² список, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Для повторСния, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² список ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list.

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Python, ΠΏΠΎ большСй части, прСдставляСт собой Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках, словари ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ассоциативная ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΠ»ΠΈ ассоциативныС массивы. Они ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого нСизмСняСмого Ρ‚ΠΈΠΏΠ°. НапримСр, строка ΠΈΠ»ΠΈ число ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π’Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ стоит Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ – это нСупорядочСнный Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡:Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° keys() Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ словаря. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, присутствуСт Π»ΠΈ ΠΊΠ»ΡŽΡ‡ Π² словарС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ in Π² Python. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… старых вСрсиях Python (с 2.3 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ…, Ссли Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ), Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово has_key, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΠΊΠ»ΡŽΡ‡Π° Π² словарС. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ являСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π² Python 2.X, ΠΈ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½, начиная с вСрсии 3.Π₯. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ:

my_dict = {}

another_dict = dict()

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

print(my_other_dict) # {‘three’: 3, ‘two’: 2, ‘one’: 1}

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пустой ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ. ВсС словари находятся Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках. ПослСдняя строчка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ «нСупорядочСнный ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΒ». Π’Π΅ΠΏΠ΅Ρ€ΡŒ настало врСмя ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ значСния Π² словарС.

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

print(my_other_dict[«one»]) # 1

my_dict = {«name»:»Mike», «address»:»123 Happy Way»}

print(my_dict[«name»]) # ‘Mike’

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ использовали ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΈ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, связанноС с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ one. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Ρƒ name. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, находится Π»ΠΈ ΠΊΠ»ΡŽΡ‡ Π² словарС ΠΈΠ»ΠΈ Π½Π΅Ρ‚:

print(«name» in my_dict) # True

print(«state» in my_dict) # False

Π§Ρ‚ΠΎ-ΠΆ, Ссли ΠΊΠ»ΡŽΡ‡ Π² словарС, Python Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Boolean True. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Boolean False. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Β Π² словарС, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

print(my_dict. keys()) # dict_keys([‘name’, ‘address’])

Π’ Python 2, ΠΌΠ΅Ρ‚ΠΎΠ΄ keys Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ список. Но Π² Python 3 ΠΎΠ½ Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ view. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ view Ρ‚Π°ΠΊΠΆΠ΅ обновится. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово in для тСкста содСрТимого словаря, Π»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² словарС, Π° Π½Π΅ Π² спискС, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ keys. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½ΠΈΠΆΠ΅:

if «name» in my_dict # Вакая конструкция ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ

if «name» in my_dict.keys() # Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π΅Π΅

Пока это, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π²Π°ΠΌ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ, Π²ΠΎ врСмя Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ситуация Π±ΡƒΠ΄Π΅Ρ‚ другая ΠΈ каТдая сСкунда Π±ΡƒΠ΄Π΅Ρ‚ Π²Π°ΠΆΠ½Π°. ΠŸΡ€ΠΈ создании тысячи Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, эти малСнькиС хитрости ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ±Π΅Ρ€Π΅Ρ‡ΡŒ вас ΠΎΡ‚ бСсполСзной Ρ‚Ρ€Π°Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари Π² Python. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ понятно для вас, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС. Π­Ρ‚ΠΈ основы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ любого прилоТСния. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ этими трСмя ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, Ссли ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ программистом Python, разумССтся. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…Β ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, созданный ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… словарСй, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

список ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ / Π₯Π°Π±Ρ€

Π’ Python, Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Ρ‚ΠΈΠΏΠ° β€” список (list) ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (tuple). Бамая извСстная Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы.

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² tuple:

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

Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:

>>> b = (1,[1,2,3],3)
>>> b[1]
[1, 2, 3]
>>> b[1].append(4)
>>> b
(1, [1, 2, 3, 4], 3)

Π’Π½ΡƒΡ‚Ρ€ΠΈ CPython (стандартного ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°), список ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ лист ΠΈΠ· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (ссылок) Π½Π° Python ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚. Π΅. физичСски ΠΎΠ½ΠΈ Π½Π΅ хранят ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ рядом с Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Когда Π²Ρ‹ удаляСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· списка происходит ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ссылки Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Если Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅Ρ‰Ρ‘ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ссылаСтся, Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² памяти.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ

НСсмотря Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π½Π΅ Ρ‚Π°ΠΊ популярны, это ΠΎΡ‡Π΅Π½ΡŒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Python постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΊΠΎΠ³Π΄Π°:

  • Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (ΠΎΠ½ΠΈ хранятся ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ)
  • Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ Π΄Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ-значСния Π² словарС
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, самый просто скрипт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ тысячи ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ:

>>> import gc
>>> def type_stats(type_obj):
...     count = 0
...     for obj in gc.get_objects():
...         if type(obj) == type_obj:
...             count += 1
...     return count
...
>>> type_stats(tuple)
3136
>>> type_stats(list)
659
>>> import pandas
>>> type_stats(tuple)
6953
>>> type_stats(list)
2455

ΠŸΡƒΡΡ‚Ρ‹Π΅ списки vs пустыС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ синглтон, Ρ‚. Π΅. Π² памяти Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Python скрипта всСгда находится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. ВсС пустыС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ просто ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сохраняСт ΠΌΠ½ΠΎΠ³ΠΎ памяти ΠΈ ускоряСт процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с пустыми ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ.

>>> a = ()
>>> b = ()
>>> a is b
True
>>> id(a)
4409020488
>>> id(b)
4409020488
>>> # Π’ CPython, функция id Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ адрСс Π² памяти.

Но это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со списками, вСдь ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹:

>>> a = []
>>> b = []
>>> a is b
False
>>> id(a)
4465566920
>>> id(b)
4465370632

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ выдСлСния памяти для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ памяти ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ созданиС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, Python ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ старыС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. Если ΠΊΠΎΡ€Ρ‚Π΅ΠΆ состоит ΠΈΠ· ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ 20 элСмСнтов ΠΈ большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚ΠΎ вмСсто удалСния Python ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся свободныС для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ.

Π­Ρ‚ΠΎΡ‚ список Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° 20 Π³Ρ€ΡƒΠΏΠΏ, Π³Π΄Π΅ каТдая Π³Ρ€ΡƒΠΏΠΏΠ° прСдставляСт ΠΈΠ· сСбя список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n, Π³Π΄Π΅ n ΠΎΡ‚ 0 Π΄ΠΎ 20. КаТдая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎ 2 000 свободных ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈ прСдставляСт ΠΈΠ· сСбя список ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ пустого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

>>> a = (1,2,3)
>>> id(a)
4427578104
>>> del a
>>> b = (1,2,4)
>>> id(b)
4427578104

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ a ΠΈ b ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ адрСс Π² памяти. Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ заняли свободный ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ выдСлСния памяти для списков

Π’Π°ΠΊ ΠΊΠ°ΠΊ списки ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ Π² случаС с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠΆΠ΅ Π½Π΅ получится. НСсмотря Π½Π° это, для списков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ похоТая оптимизация нацСлСнная Π½Π° пустыС списки. Если пустой список удаляСтся, Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ Π² дальнСйшСм.

>>> a = []
>>> id(a)
4465566792
>>> del a
>>> b = []
>>> id(b)
4465566792

ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° постоянноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списков, Python Π½Π΅ измСняСт Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это трСбуСтся. ВмСсто этого, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ спискС Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ячССк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрыты для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ Π² дальнСйшСм ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ скрытыС ячСйки Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Python добавляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚ это с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ запасом, количСство скрытых ячССк выбираСтся Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка β€” Ρ‡Π΅ΠΌ ΠΎΠ½ большС, Ρ‚Π΅ΠΌ большС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… скрытых слотов ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты.

Π­Ρ‚Π° оптимизация особСнно Π²Ρ‹Ρ€ΡƒΡ‡Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ мноТСство элСмСнтов Π² Ρ†ΠΈΠΊΠ»Π΅.

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ роста Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88,…

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² список с 8 элСмСнтами, Ρ‚ΠΎ свободных ячССк Π² Π½Ρ‘ΠΌ ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Python сразу Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎ 16 ячССк, Π³Π΄Π΅ 9 ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ заняты ΠΈ Π²ΠΈΠ΄Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° написанная Π½Π° Python:

>>> def get_new_size(n_items):
...     new_size = n_items + (n_items // 2 ** 3)
. ..     if n_items < 9:
...             new_size += 3
...     else:
...             new_size += 6
...
...     return new_size
...
>>> get_new_size(9)
16

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

Если ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ эти Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠΎ скорости, Ρ‚ΠΎ Π² срСднСм ΠΏΠΎ Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ слСгка быстрСС списков. Π£ Raymond Hettinger Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ объяснСниС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² скорости Π½Π° stackoverflow.

P.S.: Π― являюсь Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ вопросы.

созданиС ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ списку

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

ΠšΠΎΡ€Ρ‚Π΅ΠΆ – это нСизмСнная структура Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Он ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° список, Π½ΠΎ послСдний ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ измСнСниям. Π’Π°ΠΊ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ элСмСнт списка, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΊΠ°Π·Π°Π²:

b = [4, 6, 8]
print(b)
[4, 6, 8]
b[1] = 13
print(b)
[4, 13, 8]

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

Π’Ρ‹Π³ΠΎΠ΄Π½ΠΎΠ΅ прСимущСство ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° состоит Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ мСньший Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ провСряСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ sizeof. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π±Π°ΠΉΡ‚Π°Ρ…:

a = (2, 4, 6, 8, 10, 12)
b = [2, 4, 6, 8, 10, 12]
a.__sizeof__()
36
b.__sizeof__()
44

Из этого ΠΊΠΎΠ΄Π° Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 36 Π±Π°ΠΉΡ‚ΠΎΠ², Π° список (Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках) – 44 Π±Π°ΠΉΡ‚Π°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅

ΠšΠΎΡ€Ρ‚Π΅ΠΆ опрСдСляСтся Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ список, ΠΎΠ΄Π½Π°ΠΊΠΎ пСрСчислСниС происходит Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ…, Π° Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС, Π° ΠΈΡ… нумСрация всСгда начинаСтся с нуля. А Ρ‚ΠΎΡ‡Π½Π΅Π΅ для нСпустого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ноль. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС с ΠΊΠΎΠ½Ρ†Π° (с ΠΏΡ€Π°Π²ΠΎΠΉ стороны).

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания Π² Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:

a = (1,2,3)

МоТно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

a = tuple([1,2,3])

Рассмотрим ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ индСксом:

n = ("a", "b", "с", "d", "e")
print(n[-1])

'e'

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° экранС отобразился ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅ с Π½Π°Ρ‡Π°Π»Π°, Π° с ΠΊΠΎΠ½Ρ†Π° элСмСнт.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ запись:

a =(3,)
print(a[0])

3

НуТно ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ссли элСмСнт ΠΎΠ΄ΠΈΠ½, послС Π½Π΅Π³ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ‚ΠΎΡΡ‚ΡŒ запятая.

Иногда для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ слуТат, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ элСмСнтов. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

a = tuple(i for i in range(0, 10))
print(a)

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

Π’Ρ‹ΡˆΠ΅ прСдставлСн Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ создали Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. ПослС этого ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова tuple.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ нСльзя ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ срСзы. Если потрСбуСтся β€” Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ привСсти Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ срСз.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ срСзах описано Π½ΠΈΠΆΠ΅ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ Β«ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнту».

ИспользованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ списка.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнту

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΅ΡΡ‚ΡŒ свой индСкс. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π² Python для обращСния ΠΊ элСмСнту ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π½ΡƒΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ индСкс. Напомним, Ρ‡Ρ‚ΠΎ счСт начинаСтся с нуля. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΊΠΎΠ΄:

b = (4, 6, 8)
print(b[0])
print(b[1])

4
6

Из ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠ°ΠΊ элСмСнт, Ρ‚Π°ΠΊ ΠΈ срСз. Π’ этом случаС ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, состоящий ΠΈΠ· элСмСнтов, располоТСнных Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ срСза. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ срСза ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° элСмСнтов, Π° Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом находится ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ с индСксом 0. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

b = (5, 3.6, "ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚", 15, 'Π’')
print(b[1])
print(b[2:4])

3. 6
('ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚', 15)

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² python ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: index() ΠΈ count(). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ примСняСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ индСкс Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта. НапримСр:

a = (32, 33, 34, 33, 34, 33)
print(a.index(33))

1

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² Β«33Β» Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ нСсколько, Π½ΠΎ Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

ΠœΠ΅Ρ‚ΠΎΠ΄ count ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов имССтся Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

a = (32, 33, 34, 33, 34, 33)
print(a.count(33))

3

На экранС ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ появится ΠΈΠΌΠ΅Π½Π½ΠΎ число 3, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ искомоС число 33 повторяСтся 3 Ρ€Π°Π·Π°.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² добавлСния ΠΈ удалСния элСмСнтов.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ

Π”Π°Π½Π½Ρ‹ΠΉ класс Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ примСнСния срСди программистов, хотя ΠΎΠ½ ΠΈ являСтся достаточно Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² python (ΠΈΠ»ΠΈ namedtuple) Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ смыслС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…. Π’Π°ΠΊ, ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ считаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числовых индСксов. А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли хочСтся для наглядности ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ элСмСнтам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ строковоС Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π°ΠΊΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. Для этого Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ namedtuple.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ namedtuple, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ collections. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ import collecions *. Π’ этом случаС ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ namedtuple Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: collections.namedtuple( [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹] ). Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, сохранСнный Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, доступСн Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π°:

from collections import namedtuple
Flower = namedtuple('Flower' , 'color cost comment')
rose = Flower('red', 5, 'beautiful')
print(rose.cost)

5

НаимСнования ΠΏΠΎΠ»Π΅ΠΉ Π±Ρ‹Π»ΠΈ пСрСчислСны Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π». ВмСсто этой строки ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список со строками. Π’ конструкторС namedtuple Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ split. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнту cost. К ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ: rose.color, rose.comment.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. Π’Π°ΠΊ, Π² Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ наимСнования color, cost ΠΈ comment. И ΠΏΡ€ΠΈ всСм ΠΏΡ€ΠΈ этом, сохраняСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ обращСния ΠΊ элСмСнтам ΠΏΠΎ индСксу, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дописав ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ:

print(rose[0])

red

Бписок ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Иногда Π±Ρ‹Π²Π°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ (ΠΈΠ»ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° array. К соТалСнию, Π½Π΅ получится с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ массив ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ элСмСнтом массива Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

Из этой ситуации Π΅ΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ β€” созданиС Π² Python списка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ объявлСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ списка прСдставлСн Π½ΠΈΠΆΠ΅:

a = [(1,2,3),(4,5,6)]

CΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°

Иногда Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты списка. Благодаря встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted, всС это дСлаСтся достаточно Π»Π΅Π³ΠΊΠΎ:

a = ('One', 'Two', 'Three')
a = tuple(sorted(a))
print(a)

('One', 'Three', 'Two')

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° сортировка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Python ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ сортировку ΠΌΠΎΠΆΠ½ΠΎ провСсти ΠΈ ΠΏΠΎ числовым элСмСнтом. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

a = (3, 1, 5 ,2, 6, 7)
a = tuple(sorted(a))
print(a)

(1, 2, 3, 5, 6, 7)

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° сортировка ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ функция sorted Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ tuple ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сортировки ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ.

Π’ список

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π² список:

a = (1,2,3)
a = list(a)
print(a)

[1, 2, 3]

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π±Ρ‹Π» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² список Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ дСйствиС β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

a = [1, 2.6, "ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚"]
a = tuple(a)
print(a)

(1, 2.6, "ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚")

Π’ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ – это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° структура ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² Python. Он, ΠΊΠ°ΠΊ ΠΈ список, являСтся измСняСмым, Π½ΠΎ ΠΏΡ€ΠΈ этом нСупорядочСнным. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту посрСдством указания индСкса – Π½Π΅ получится. Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ провСсти аналогию с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π°Π½Π³Π»ΠΎ-русским словарСм. Π’ Π½Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄: house –дом, flat – ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°, window – ΠΎΠΊΠ½ΠΎ. Если пСрСнСсти Ρ‚Π°ΠΊΡƒΡŽ структуру Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎ получится такая запись, оформляСмая Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками:

{'house': 'Π΄ΠΎΠΌ', 'flat': 'ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°', 'window': 'ΠΎΠΊΠ½ΠΎ'}

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° экран Π½Π΅ опрСдСляСтся Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Python ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dict.

a = (('a', 2),('b', 4))
a = dict(a)
print(a)

{'a': 2, 'b': 4}

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

Π’ строку

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти Π² python ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция join. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

a = ('one','two','three')
b = ''.join(a)
c = ','.join(a)
print(b)
print(c)

onetwothree
one,two,three

ПослС выполнСния ΠΊΠΎΠ΄Π° Π½Π° дисплСС появится запись всСх элСмСнтов Π² ΠΎΠ΄Π½Ρƒ строку с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС β€” Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС β€” Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

Π§Π΅ΠΌ ΠΆΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅? Π Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ быстрСС, Ρ‡Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, со списками. Если программисту Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ постоянный Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Плюс – это экономия ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСньшС мСста, Ρ‡Π΅ΠΌ списки.

Python: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

recordlist = [(sku,item,bro),(sku1,item1,bro1),...]

for item in recordlist:
    itemlist = list(item)
    if itemlist[0] == 'sku':
        itemlist[1] = itemlist[1]+',item'
        item = tuple(itemlist)

        print(item)

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π² настоящСС врСмя Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?
Ρ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚

('sku','item','bro')

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

('sku','item,item','bro')

python

list

tuples

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ


Santosh Β  Β 

26 июня 2017 в 00:57

2 ΠΎΡ‚Π²Π΅Ρ‚Π°


  • Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ поиска ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ?

    ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ мСня Π΅ΡΡ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π²ΠΈΠ΄Π° list = [(key1,value1), (key2,value2)] , Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ быстро / Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сущСствуСт Π»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² спискС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: (key_x,value_x) in list ? ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ python выполняСт поиск ΠΏΠΎ списку?! Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ?! Π―…

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°-это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ находится Π² спискС Π² python

    Допустим, Ρƒ мСня Π΅ΡΡ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² python (имя, возраст). Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² этом спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Mary, ΠΈ ΠΌΠ½Π΅ всС Ρ€Π°Π²Π½ΠΎ, сколько Π΅ΠΌΡƒ Π»Π΅Ρ‚. Как ΠΌΠ½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это эффСктивно?



2

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ присвоСниС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ tuple ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу Π² list Ρ€Π΅ΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ tuples ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми. Для сохранСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ индСкса enumerate ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ списку. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

recordlist = [('sku1','item1','bro1'),('sku2','item2','bro2')]

for index, item in enumerate(recordlist):
    itemlist = list(item)
    if itemlist[0] == 'sku1':
        itemlist[1] = itemlist[1]+','+'item'
    item = tuple(itemlist)

    recordlist[index] = item

print(recordlist)

Π’Ρ‹Ρ…ΠΎΠ΄:

[('sku1', 'item1,item', 'bro1'), ('sku2', 'item2', 'bro2')]

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


student Β  Β 

26 июня 2017 в 01:04



0

Бписки-это ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с измСняСмыми элСмСнтами. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивным для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ постоянно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚Π΅ ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π² список, измСняСтС элСмСнт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со списками.

recordlist = [['sku','item','bro'],['sku1','item1','bro1']]

for itemlist in recordlist:
    if itemlist[0] == 'sku':
        itemlist[1] = itemlist[1]+',item'
        print(tuple(itemlist))

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Karthikeyan Saravanan Β  Β 

26 июня 2017 в 01:30


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Python ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

Π•ΡΡ‚ΡŒ Π»ΠΈ способ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ? Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΡ‚ cursor.fetchall(), Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ: curr_table_columns = cursor.fetchall() НапримСр:…

Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ-Haskell

Π­ΠΉ, рСбята, я Ρ…ΠΎΡ‡Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ: let lst = [(john,3), (greg,3), (tom,2), (rob,7), (jason,4), (tev,7)] Π― Ρ…ΠΎΡ‡Ρƒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ любой…

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий nan Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ — Python

Π£ мСня Π΅ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΈ я Ρ…ΠΎΡ‡Ρƒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ любой ΠšΠΎΡ€Ρ‚Π΅ΠΆ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ nan, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Python. Π§Ρ‚ΠΎ Ρƒ мСня сСйчас Π΅ΡΡ‚ΡŒ: x = [(‘Recording start’, 0), (nan, 4), (nan, 7),…, (‘Event marker…

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ поиска ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ?

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ мСня Π΅ΡΡ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π²ΠΈΠ΄Π° list = [(key1,value1), (key2,value2)] , Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ быстро / Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сущСствуСт Π»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² спискС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: (key_x,value_x) in…

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°-это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ находится Π² спискС Π² python

Допустим, Ρƒ мСня Π΅ΡΡ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² python (имя, возраст). Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² этом спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Mary, ΠΈ ΠΌΠ½Π΅ всС Ρ€Π°Π²Π½ΠΎ, сколько Π΅ΠΌΡƒ Π»Π΅Ρ‚. Как ΠΌΠ½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это эффСктивно?

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² F#

Π― ΠΏΠΈΡˆΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² F#, ΠΈ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ (c,d) Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (a,b) . Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Π£ мСня Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (a,b) И ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ…

Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с минимальной суммой Π² спискС python

Π’ спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ python ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с минимальной суммой. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, a = [ (2, 6) , (1,3) , (0,2) ] (0, 2) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ сумма минимальна. Π― знаю, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это…

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π’ Python Ρƒ мСня Π΅ΡΡ‚ΡŒ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ: list_tup = [(‘123’, ‘A’), (‘123’, ‘B’)] Если я Ρ…ΠΎΡ‡Ρƒ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сущСствуСт Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (‘123’, ‘A’) , я просто ΠΏΠΈΡˆΡƒ: (‘123’, ‘A’) in list_tup…

НайдитС элСмСнт ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π₯ΠΎΡ€ΠΎΡˆΠΎ. Π˜Ρ‚Π°ΠΊ, я просмотрСл Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ SO, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ элСмСнт Π² спискС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² python, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ каТутся Ρ‚Π°ΠΊΠΈΠΌΠΈ спСцифичными для ΠΌΠΎΠ΅Π³ΠΎ случая. И я понятия Π½Π΅ имСю, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²…

Бписок списков Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

(Python) Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, ΠΈ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свой список списков Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Input-> myList=[[0, 0], [0, 1], [2, 2], [1, 2]] Output-> ((0,0),(0,1),(2,2),(1,2)) ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ…

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Python- (список-ΠΊΠΎΡ€Ρ‚Π΅ΠΆ-ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ-Π½Π°Π±ΠΎΡ€) — РусскиС Π‘Π»ΠΎΠ³ΠΈ

Бписок:

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ [], Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список
 my_list = [] # Π‘ΠΎΠ·Π΄Π°Π½ пустой список
# print(my_list , type(my_list))

 # Π”Π°Π½Π½Ρ‹Π΅, хранящиСся Π² спискС, ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ элСмСнтами
 # Бписок ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько элСмСнтов, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнты Π² спискС ΠΏΡ€ΠΈ создании списка
 my_list = [10] # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта

 # ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов Π² список ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими элСмСнтами для раздСлСния
 my_list = [10,20,30,40,50] # Π‘ΠΎΠ·Π΄Π°Π» список Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ· 5 элСмСнтов

 # Π›ΡŽΠ±ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² спискС
my_list = [10,'hello',True,None,[1,2,3],print]

 # ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² спискС Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Π² спискС Π² порядкС вставки,
 # ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ вставлСнный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сохраняСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ - Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ
 # ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты Π² спискС ΠΏΠΎ индСксу (index)
 # ИндСкс - это позиция элСмСнта Π² спискС, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС ΠΈΠΌΠ΅Π΅Ρ‚ индСкс
 # ИндСкс - это Ρ†Π΅Π»ΠΎΠ΅ число, начиная с 0, индСкс ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² спискС Ρ€Π°Π²Π΅Π½ 0, индСкс Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ€Π°Π²Π΅Π½ 1, индСкс Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ€Π°Π²Π΅Π½ 2 ΠΈ Ρ‚. Π”.
my_list = [10,20,30,40,50]

 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты списка ΠΏΠΎ индСксу
 # Бинтаксис: my_list [индСкс] my_list [0]
# print(my_list[4])
 # Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ индСкс ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
# print(my_list[5]) IndexError: list index out of range

 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ списка, количСство элСмСнтов Π² спискС
# функция len (), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ списка
 # ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ - это ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСкс списка + 1
print(len(my_list)) # 5

# Π›ΠΎΠΌΡ‚ΠΈΠΊ
# НарСзка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ подсписка ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка
# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ список. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈ создании списка имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎ мноТСствСнном числС.


stus = ['Sun Wukong', 'Pig Bajie', 'Sand Monk', 'Tang Monk', 'Spider Spirit', 'Bone Spirit']

 # ИндСкс списка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ
 # Если индСкс ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт снизу Π²Π²Π΅Ρ€Ρ…, -1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎ послСднСго, -2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚ прСдпослСднСго ΠΈ Ρ‚. Π”.
# print(stus[-2])

 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°Ρ€Π΅Π·ΠΊΠΈ
 # Бинтаксис: список [Π½Π°Ρ‡Π°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ†] 
 # ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ элСмСнтов ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°Ρ€Π΅Π·ΠΊΠΈ элСмСнт Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, Π½ΠΎ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½
 # ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠΈ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΉ список, Π½Π΅ затрагивая исходный список
 # ИндСкс Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· записи
 # Если конСчная позиция Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
 # Если Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ позиция Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π° с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта
 # Если ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ, Ρ‚Π°ΠΊ ΠΈ конСчная ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, это эквивалСнтно созданию ΠΊΠΎΠΏΠΈΠΈ списка
# print(stus[1:])
# print(stus[:3])
# print(stus[:])
# print(stus)

 # Бинтаксис: список [Π½Π°Ρ‡Π°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ†: шаг] 
 # Π”Π»ΠΈΠ½Π° шага ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 1
# print(stus[0:5:3])
 # Π”Π»ΠΈΠ½Π° шага Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 0, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ
# print(stus[::0]) ValueError: slice step cannot be zero
 # Если это ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ пСрСнСсСн ΠΈΠ· ΠΊΠΎΠ½Ρ†Π° списка Π² Π½Π°Ρ‡Π°Π»ΠΎ
print(stus[::-1])

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

# + И *
 # + МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° списка Π² ΠΎΠ΄ΠΈΠ½ список
my_list = [1,2,3] + [4,5,6]

 # * Бписок ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·
my_list = [1,2,3] * 5

# print(my_list)

 # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список
 stus = ['Sun Wukong', 'Pig Bajie', 'Sand Monk', 'Tang Monk', 'Spider Spirit', 'Bone Spirit', 'Sand Monk', 'Sand Monk']

 # Π² Π° Π½Π΅ Π²
 # in ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС
 # Если ΠΎΠ½ сущСствуСт, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ True, ΠΈΠ½Π°Ρ‡Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ False
 # not in ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ отсутствия ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС
 # Если Π½Π΅Ρ‚, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ True, ΠΈΠ½Π°Ρ‡Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ False
 # print ('Bull Devil' отсутствуСт)
 # print ('Π‘Ρ‹ΠΊ-дьявол' in stus)

 # len () ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство элСмСнтов Π² спискС

 # min () ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² спискС
 # max () ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² спискС
arr = [10,1,2,5,100,77]
# print(min(arr) , max(arr))

 # Π”Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (ΠΌΠ΅Ρ‚ΠΎΠ΄), ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ функция Π² основном ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ object.method ()
 # xxx.print () фактичСски являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, тСсно связанной с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
 # s.index () ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС
 # print (stus.index ('ΠŸΠ΅ΡΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ½Π°Ρ…'))
 # index () Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ поиска, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ поиска
 # print (stus.index ('ΠŸΠ΅ΡΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ½Π°Ρ…', 3,7))
 # Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² спискС, Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
 # print (stus.index ('   ')) ValueError: '   ' отсутствуСт Π² спискС
 # s.count () ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, сколько Ρ€Π°Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт появляСтся Π² спискС
 print (stus.count ('Π‘Ρ‹ΠΊ Π”ΡŒΡΠ²ΠΎΠ»'))

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список
 stus = ['Sun Wukong', 'Pig Bajie', 'Sand Monk', 'Tang Monk', 'Spider Spirit', 'Bone Spirit']

 # print ("Π”ΠΎ измСнСния:", stus)
 # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты Π² спискС
 # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· индСкс
stus[0] = 'sunwukong'
 stus [2] = 'Ρ…Π°-Ρ…Π°'
 # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты Ρ‡Π΅Ρ€Π΅Π· del
 del stus [2] # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт с индСксом 2

 # print ('ПослС измСнСния:', stus)

 stus = ['Sun Wukong', 'Pig Bajie', 'Sand Monk', 'Tang Monk', 'Spider Spirit', 'Bone Spirit']

 # print ("Π”ΠΎ измСнСния:", stus)

 # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ список, Π½Π°Ρ€Π΅Π·Π°Π²
 # ΠŸΡ€ΠΈ присвоСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ срСзам ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
 # stus [0: 2] = ['Cow Devil', 'Red Boy'] Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ старыС элСмСнты Π½ΠΎΠ²Ρ‹ΠΌΠΈ
 # stus [0: 2] = ['ΠšΠΎΡ€ΠΎΠ»ΡŒ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ²-Π±Ρ‹ΠΊΠΎΠ²', 'ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΌΠ°Π»ΡŒΡ‡ΠΈΠΊ', 'Π­Ρ€Π»Π°Π½Π³ Π¨Π΅Π½']
 # stus [0: 0] = ['   '] # Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² индСкс 0
 # Когда Ρ€Π°Π·ΠΌΠ΅Ρ€ шага установлСн, количСство элСмСнтов Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ количСство элСмСнтов Π² срСзС
 # stus [:: 2] = ['ΠšΠΎΡ€ΠΎΠ»ΡŒ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ²-Π±Ρ‹ΠΊΠΎΠ²', 'ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΌΠ°Π»ΡŒΡ‡ΠΈΠΊ', 'Π‘ΠΎΠ³ Π­Ρ€Π»Π°Π½Π³Π°']

 # УдаляСм элСмСнты ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°Ρ€Π΅Π·ΠΊΠΈ
# del stus[0:2]
# del stus[::2]
# stus[1:3] = []

 # print ('ПослС измСнСния:', stus)

 # Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
s = 'hello'
 # s [1] = 'a' нСизмСняСмая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΠΎ индСксу
 # Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² списки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list ()
s = list(s)
print(s)

ΠœΠ΅Ρ‚ΠΎΠ΄ списка:

# ΠœΠ΅Ρ‚ΠΎΠ΄ списка
 stus = ['Sun Wukong', 'Pig Bajie', 'Sand Monk', 'Tang Monk']
 # print ('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ список:', stus)

# append() 
 # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка
 # stus.append ('Π’Π°Π½ ΠœΠΎΠ½Π°Ρ…')

# insert()
 # ВставляСм элСмСнт Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ списка
 # ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
 # 1. ΠšΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ
 # 2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ для вставки
 # stus.insert (2, 'Π’Π°Π½ ΠœΠΎΠ½Π°Ρ…')

# extend()
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
 # НуТна ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΎΠ½Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список
# stus.extend (['Π’Π°Π½ ΠœΠΎΠ½Π°Ρ…', 'Π‘Π΅Π»Ρ‹ΠΉ костяной Π΄ΡƒΡ…'])
 # stus + = ['Tang Monk', 'White Bone Spirit']

# clear()
 # ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
# stus.clear()

# pop()
 # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт ΠΏΠΎ индСксу

 # result = stus.pop (2) # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт с индСксом 2
 # result = stus.pop () # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдний
# print('result =',result)

# remove()
 # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт значСния, Ссли Π΅ΡΡ‚ΡŒ нСсколько элСмСнтов с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ
 # stus.remove ('Бвинья Π‘Π°Π΄ΠΆΠΈ')

# reverse()
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€ΠΎΡ‚Π° списка
# stus.reverse()

# sort()
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сортировки элСмСнтов Π² спискС, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ
 # Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ reverse = True Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°
my_list = list('asnbdnbasdabd')
my_list = [10,1,20,3,4,5,0,-2]

 print ('до измСнСния', my_list)

my_list.sort(reverse=True)
 print ('ПослС измСнСния', my_list)
 # print ('ПослС измСнСния:', stus)

ΠšΠΎΡ€Ρ‚Π΅ΠΆ
# ΠšΠΎΡ€Ρ‚Π΅ΠΆ — нСизмСнная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
# Π•Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² основном Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ списка
# Π˜Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΊΠ°ΠΊ нСизмСняСмый список, ΠΈ всС Π² порядкС
# ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ списки

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ () для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ
 my_tuple = () # создал пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
# print(my_tuple,type(my_tuple)) # <class 'tuple'>

 my_tuple = (1,2,3,4,5) # Π‘ΠΎΠ·Π΄Π°Π½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· 5 элСмСнтов
 # ΠšΠΎΡ€Ρ‚Π΅ΠΆ - нСизмСняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
# my_tuple[3] = 10 TypeError: 'tuple' object does not support item assignment
# print(my_tuple[3])

 # Если ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ являСтся пустым, скобки ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ
 # Если ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ являСтся пустым, Π² Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½,
my_tuple = 10,20,30,40
my_tuple = 40,
# print(my_tuple , type(my_tuple))

my_tuple = 10 , 20 , 30 , 40

 # Распаковка (дСконструкция) ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ
 # Распаковка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ присвоСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
a,b,c,d = my_tuple

# print("a =",a)
# print("b =",b)
# print("c =",c)
# print("d =",d)

a = 100
b = 300
# print(a , b)

 # ВзаимодСйствуСм со значСниями a ΠΈ b, Ρ‚ΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ распаковку ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ
a , b = b , a

# print(a , b)
my_tuple = 10 , 20 , 30 , 40


 # ΠŸΡ€ΠΈ распаковкС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ количСство элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
 # Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ * ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСмСнная ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° всС ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
a , b , *c = my_tuple
a , *b , c = my_tuple
*a , b , c = my_tuple
a , b , *c = [1,2,3,4,5,6,7]
a , b , *c = 'hello world'
 # Π”Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ * ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ
# *a , *b , c = my_tuple SyntaxError: two starred expressions in assignment
print('a =',a)
print('b =',b)
print('c =',c)

Ρ‚ΠΎΠ»ΠΊΠΎΠ²Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ {} для создания словаря
 d = {} # Π‘ΠΎΠ·Π΄Π°Π½ пустой ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

 # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅
 # Бинтаксис:
#   {key:value,key:value,key:value}
 # Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ словаря ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
 # ΠšΠ»ΡŽΡ‡ΠΎΠΌ словаря ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой нСизмСняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (int, str, bool, tuple ...), Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ str
 # ΠšΠ»ΡŽΡ‡ словаря Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½, Ссли Π΅ΡΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚, Π·Π°Π΄Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ
 # d = {'name': 'Sun Wukong', 'age': 18, 'ΠΏΠΎΠ»': ' ', 'name': 'sunwukong'}
d = {
 'name': 'ΠšΠΎΡ€ΠΎΠ»ΡŒ обСзьян', 
'age':18 , 
 'муТской ΠΏΠΎΠ»', 
'name':'sunwukong'
}

# print(d , type(d))

 # НуТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° основС ΠΊΠ»ΡŽΡ‡Π°
# print(d['name'],d['age'],d['gender'])

 # Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² словарС, Π±ΡƒΠ΄Π΅Ρ‚ сообщСно ΠΎΠ± ошибкС
# print(d['hello']) KeyError: 'hello'

ИспользованиС словаря

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ {}
 # Бинтаксис: {k1: v1, k2: v2, k3: v3}

 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ dict () для создания словаря
 # ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ прСдставляСт собой ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° - это ΠΊΠ»ΡŽΡ‡, Π° имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° - это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, созданный Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ»ΡŽΡ‡ прСдставляСт собой строку)
 d = dict (name = 'ΠšΠΎΡ€ΠΎΠ»ΡŒ обСзьян', возраст = 18, ΠΏΠΎΠ» = 'муТской') 

 # Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ
 # ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния, [1,2] ('a', 3) 'ab'
 # ΠŸΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ссли элСмСнт Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ этот элСмСнт ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ
# [(1,2),(3,5)]
 d = dict ([('имя', 'Π‘ΡƒΠ½ΡŒ Π’ΡƒΡ„Π°Π½ΡŒ'), ('возраст', 18)])
# print(d , type(d))
 d = dict (name = 'ΠšΠΎΡ€ΠΎΠ»ΡŒ обСзьян', возраст = 18, ΠΏΠΎΠ» = 'муТской') 

 # len () ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС
# print(len(d))

 # in ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
 # not in ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π½Π΅ содСрТит Π»ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
# print('hello' in d)

 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ
 # Бинтаксис: d [ΠΊΠ»ΡŽΡ‡]
# print(d['age'])

# n = 'name'
# print(d[n])

 # Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ [], Ссли ΠΊΠ»ΡŽΡ‡ Π½Π΅ сущСствуСт, Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ KeyError
 # get (key [, default]) Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния значСния Π² словарС Π² соотвСтствии с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ
 # Если ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π΅ сущСствуСт Π² словарС, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ None
 # Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π»ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСдоступно
# print(d.get('name'))
 # print (d.get ('ΠΏΡ€ΠΈΠ²Π΅Ρ‚', 'Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ'))

 # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ
 # d [ΠΊΠ»ΡŽΡ‡] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ссли ΠΊΠ»ΡŽΡ‡ сущСствуСт, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ссли ΠΎΠ½ Π½Π΅ сущСствуСт
 d ['name'] = 'sunwukong' # ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" словаря
 d ['address'] = ' ' # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

# print(d)
 # setdefault (key [, default]) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для добавлСния ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.
 # Если ΠΊΠ»ΡŽΡ‡ ΡƒΠΆΠ΅ сущСствуСт Π² словарС, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со словарСм Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚
 # Если ΠΊΠ»ΡŽΡ‡ Π½Π΅ сущСствуСт, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 result = d.setdefault ('имя', 'Бвинья Π‘Π°Π΄ΠΆΠΈ')
 result = d.setdefault ('ΠΏΡ€ΠΈΠ²Π΅Ρ‚', 'Бвинья Π‘Π°Π΄ΠΆΠΈ')

# print('result =',result)
# print(d)

# update([other])
 # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… словарСй Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ
# ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° послСдний Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ
d = {'a':1,'b':2,'c':3}
d2 = {'d':4,'e':5,'f':6, 'a':7}
d.update(d2)

# print(d)
 # Delete, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ del, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС
del d['a']
del d['b']

# popitem()
 # Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ удаляСм послСднюю ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 # ПослС удалСния ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 # ВозвращаСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π΄Π²Π° элСмСнта, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт - это ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, Π²Ρ‚ΠΎΡ€ΠΎΠΉ - ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
 # ΠŸΡ€ΠΈ использовании popitem () для удалСния пустого словаря Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ KeyError: 'popitem (): dictionary is empty'
# d.popitem()
# result = d.popitem()

# pop(key[, default])
 # УдаляСм ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ
 # Π‘ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅!
 # Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡, Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
 # Если ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° сообщСниС ΠΎΠ± ошибкС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
result = d.pop('d')
 result = d.pop ('z', 'Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ')

 # del d ['z'] z Π½Π΅ сущСствуСт, ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС
# result = d.popitem()
# result = d.popitem()
# result = d.popitem()
# result = d.popitem()

 # clear () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для очистки словаря
d.clear()

# print('result =',result)
# print(d)

# copy()
 # Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания Π½Π΅Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ словаря
 # Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ зависит ΠΎΡ‚ исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ИзмСнСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ повлияСт Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ
 # ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ повСрхностная копия просто скопируСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ являСтся измСняСмым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, измСняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ скопирован
d = {'a':1,'b':2,'c':3}
d2 = d.copy()
# d['a'] = 100

 d = {'a': {'name': 'Sun Wukong', 'age': 18}, 'b': 2, 'c': 3}
d2 = d.copy()
 d2 ['a'] ['name'] = 'Бвинья Π‘Π°Π΄ΠΆΠΈ'


print('d = ',d , id(d))
print('d2 = ',d2 , id(d2))

ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

# ΠŸΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ
 # keys () Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ всС ΠΊΠ»ΡŽΡ‡ΠΈ словаря
 # Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся всС ΠΊΠ»ΡŽΡ‡ΠΈ словаря
 d = {'name': 'ΠšΠΎΡ€ΠΎΠ»ΡŒ обСзьян', 'возраст': 18, 'ΠΏΠΎΠ»': 'ΠœΡƒΠΆΡΠΊΠΎΠΉ'}

 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡΡΡŒ ΠΏΠΎ клавишам ()
# for k in d.keys() :
#     print(k , d[k])

# values()
 # Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся Π»Π΅Π²ΠΎΠ΅ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ΅ значСния словаря
# for v in d.values():
#     print(v)

# items()
 # Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ всС элСмСнты Π² словарС
 # Он Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ содСрТит Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
 # Π”Π²ΠΎΠΉΠ½Ρ‹Π΅ значСния - это ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² словарС
# print(d.items())
for k,v in d.items() :
    print(k , '=' , v)

Π½Π°Π±ΠΎΡ€

# ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ {} для создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
s = {10,3,5,1,2,1,2,3,1,1,1,1} # <class 'set'>
# s = {[1,2,3],[4,6,7]} TypeError: unhashable type: 'list'
 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set () для создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
 s = set () # пустой Π½Π°Π±ΠΎΡ€
 # Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ set () для прСобразования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΈ словарСй Π² Π½Π°Π±ΠΎΡ€Ρ‹
s = set([1,2,3,4,5,1,1,2,3,4,5])
s = set('hello')
 s = set ({'a': 1, 'b': 2, 'c': 3}) # ΠŸΡ€ΠΈ использовании set () для прСобразования словаря Π² Π½Π°Π±ΠΎΡ€ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ Π² словарС

 # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ
s = {'a' , 'b' , 1 , 2 , 3 , 1}

 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ in, Π° Π½Π΅ in, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ элСмСнты Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
# print('c' in s)

 # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ len (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство элСмСнтов Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
# print(len(s))

 # add () Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ
s.add(10)
s.add(30)

 # update () Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ
 # update () ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡
s2 = set('hello')
s.update(s2)
s.update((10,20,30,40,50))
s.update({10:'ab',20:'bc',100:'cd',1000:'ef'})

# {1, 2, 3, 100, 40, 'o', 10, 1000, 'a', 'h', 'b', 'l', 20, 50, 'e', 30}
 # pop () случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнты Π² Π½Π°Π±ΠΎΡ€Π΅
# result = s.pop()

 # remove () Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
s.remove(100)
s.remove(1000)

 # clear () ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ
s.clear()

 # copy () МСлкая копия ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

# print(result)
print(s , type(s))


Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

# ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π½Π΅ повлияСт Π½Π° исходный Π½Π°Π±ΠΎΡ€, Π½ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
 # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π°
s = {1,2,3,4,5}
s2 = {3,4,5,6,7}

 # & ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСсСчСния
result = s & s2 # {3, 4, 5}

 # | Боюзная опСрация
result = s | s2 # {1,2,3,4,5,6,7}

 # -Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅
result = s - s2 # {1, 2}

 # ^ XOR set ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Π±ΠΎΡ€Π΅
result = s ^ s2 # {1, 2, 6, 7}

 # <= ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ подмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°
 # Если всС элСмСнты Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π½Π°Π±ΠΎΡ€Π΅ b, Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ являСтся подмноТСством Π½Π°Π±ΠΎΡ€Π° b, Π° b - надмноТСством Π½Π°Π±ΠΎΡ€Π°
a = {1,2,3}
b = {1,2,3,4,5}

result = a <= b # True
result = {1,2,3} <= {1,2,3} # True
result = {1,2,3,4,5} <= {1,2,3} # False

 # <ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ истинным подмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°
 # Если надмноТСство b содСрТит всС элСмСнты Π² подмноТСствС a, ΠΈ Π² b Π΅ΡΡ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² a, Ρ‚ΠΎ b являСтся истинным надмноТСством a, Π° a - истинным подмноТСством b
result = {1,2,3} < {1,2,3} # False
result = {1,2,3} < {1,2,3,4,5} # True

 #> = ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ надмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ
 #> ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ истинным надмноТСством Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ
print('result =',result)

Β 

Бписки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Бписки ΠΈΒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π²Β Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ составляСтС список гостСй Π½Π°Β ΡΠ²Π°Π΄ΡŒΠ±Ρƒ. Π­Ρ‚ΠΎΡ‚ список постоянно мСняСтся: добавились Π΄Ρ€ΡƒΠ·ΡŒΡ сСмьи Π”ΠΈΠΌΠ° ΠΈΒ Π‘Π²Π΅Ρ‚Π°, нС смогут ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Ρ‚Ρ€ΠΎΡŽΡ€ΠΎΠ΄Π½Ρ‹Π΅ сСстры со стороны ΠΆΠ΅Π½Ρ‹ Π›ΠΈΠ΄Π° ΡΒ ΠΠ°Ρ‚Π°ΡˆΠ΅ΠΉ.

Для прСдставлСния Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·Β Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° Π²Β Python ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят списки. Бписки — это
Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ встроСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Python.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список Π²Β Python ΠΌΠΎΠΆΠ½ΠΎ двумя способами, Ρ‚Π°ΠΊ:

my_list = list()

ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ:

my_list = []

ВСрнСмся, ΠΎΠ΄Π½Π°ΠΊΠΎ, к гостям на свадьбС. Для создания списка гостСй, сразу ТС ΠΏΡ€ΠΈ создании ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΡŒ скобок строки с имСнами Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

guests = ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
print(guests)

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с элСмСнтами списка

Π’Β Π½Π°ΡˆΠ΅ΠΌ спискС Ρ‚Ρ€ΠΈ элСмСнта: Β«Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΒ», «Одноклассники», Β«Π›ΠΈΠ΄Π° ΠΈΒ ΠΠ°Ρ‚Π°ΡˆΠ°Β»,Β β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π²Π½ΡƒΡ‚Ρ€ΠΈ списка ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Β Ρ‚Π°ΠΊΠΎΠΌ порядкС. Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π΅Β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ порядок списка, Β«Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΒ» всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ элСмСнтом, Β«ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈΒ»Β β€” Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΒ Β«Π›ΠΈΠ΄Π° ΠΈΒ ΠΠ°Ρ‚Π°ΡˆΠ°Β»Β β€” Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ. Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ прСдставляСт собой Π½Π°Ρ‡Π°Π»ΠΎ списка, Π°Β Π›ΠΈΠ΄Π° ΠΈΒ ΠΠ°Ρ‚Π°ΡˆΠ°Β β€” ΠΊΠΎΠ½Π΅Ρ†. ΠœΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π›ΠΈΠ΄Π° ΠΈΒ ΠΠ°Ρ‚Π°ΡˆΠ° нС смогут ΠΏΡ€ΠΈΠΉΡ‚ΠΈ, ΠΈΒ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ из списка.

Π‘Β ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° remove ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдний элСмСнт в спискС.

guests = ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
guests.remove("Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°")
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']

Но нС забываСм, Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ в список Π΄Π²ΡƒΡ… гостСй. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов Π²Β ΠΊΠΎΠ½Π΅Ρ† списка происходит ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append.

guests = ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
guests.remove("Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°")
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники']
guests.append('Π”ΠΈΠΌΠ°')
guests.append('Π‘Π²Π΅Ρ‚Π°')
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π”ΠΈΠΌΠ°', 'Π‘Π²Π΅Ρ‚Π°']

В список ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт, Π½ΠΎΒ ΠΈΒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ·Β Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°Β Π΄Ρ€ΡƒΠ³ΠΎΠ΅, согласно индСксу элСмСнта.

guests = ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π”ΠΈΠΌΠ°', 'Π‘Π²Π΅Ρ‚Π°']
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π›ΠΈΠ΄Π° ΠΈ ΠΠ°Ρ‚Π°ΡˆΠ°']
guests[2] = 'КоллСги'
print(guests)  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'КоллСги', 'Π‘Π²Π΅Ρ‚Π°']

Π˜Β Ρ‚Π°ΠΊ, список — это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, хранящий ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Β ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Β ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅
от строк, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списка ΠΌΠ΅Π½ΡΡŽΡ‚ исходный список. Π•ΡΡ‚ΡŒ ΠΎΠ΄Π½Π°ΠΊΠΎ у списков коС‑что ΠΎΠ±Ρ‰Π΅Π΅. Π­Ρ‚ΠΎ доступ к элСмСнту
по индСксу и срСзы. ВсС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ в списках Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΒ ΠΆΠ΅, ΠΊΠ°ΠΊ и в строках.

guests = ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники', 'Π”ΠΈΠΌΠ°', 'Π‘Π²Π΅Ρ‚Π°']
print(guests[0])  # Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ
print(guests[-1])  # Π‘Π²Π΅Ρ‚Π°
print(guests[:2])  # ['Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ', 'Одноклассники']

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈΒ β€” это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, хранящиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Β ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС. Π’Β ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ от списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ создали ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ какого‑либо Π΅Π³ΠΎ элСмСнта ΡƒΠΆΠ΅ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ нСльзя Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΒ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми.

Для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ·Β Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² синтаксиса. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ:

my_tuple = tuple()

Π˜Β Π²Ρ‚ΠΎΡ€ΠΎΠΉ:

my_tuple = ()

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, создайтС Π΅Π³ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ способом,
ΡƒΠΊΠ°Π·Π°Π² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ элСмСнт.

data = ('И. Иванов', 1958, True)
print(data)  # ('И. Иванов', 1958, True)

Π”Π°ΠΆΠ΅ Ссли ΠΊΠΎΡ€Ρ‚Π΅ΠΆ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт, послС этого элСмСнта всС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Python ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ от числа в скобках, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… порядок выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΒ ΠΆΠ΅, ΠΊΠ°ΠΊ и элСмСнты списка, указывая индСкс элСмСнта.

books = ("1984", "О Π΄ΠΈΠ²Π½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΈΡ€", "451 градус ΠΏΠΎ Π€Π°Ρ€Π΅Π½Π³Π΅ΠΉΡ‚Ρƒ")
print(books[2])  # 451 градус ΠΏΠΎ Π€Π°Ρ€Π΅Π½Π³Π΅ΠΉΡ‚Ρƒ

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово in / not in

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТится ли элСмСнт Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова in.

books = ("1984", "О Π΄ΠΈΠ²Π½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΈΡ€", "451 градус ΠΏΠΎ Π€Π°Ρ€Π΅Π½Π³Π΅ΠΉΡ‚Ρƒ")
print("1984" in books)  # True
print("НСзнайка Π½Π° Π»ΡƒΠ½Π΅" in books)  # False

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ in ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово not для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ отсутствия элСмСнта Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

books = ("1984", "О Π΄ΠΈΠ²Π½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΈΡ€", "451 градус ΠΏΠΎ Π€Π°Ρ€Π΅Π½Π³Π΅ΠΉΡ‚Ρƒ")
print("НСзнайка Π½Π° Π»ΡƒΠ½Π΅" not in books)  # True

Π’Π΅Β ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами in ΠΈΒ not in ΡΡ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ и со списками.

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ и списков

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° слоТСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ с другом Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ со списками Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ и с кортСТами:

colors1 = ["синий", "Π·Π΅Π»Π΅Π½Ρ‹ΠΉ", "ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ"]
colors2 = ["ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ", "Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ", "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ"]
print(colors1 + colors2)  # ['синий', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ', 'ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ', 'Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ', 'Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ']

На данном этапС Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ интСрСсно, Π·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ каТутся ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, Ρ‡Π΅ΠΌ списки? На самом ТС Π΄Π΅Π»Π΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ со значСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° нС измСнятся. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ гСографичСскиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π”ΠΎΠ»Π³ΠΎΡ‚Ρƒ ΠΈΒ ΡˆΠΈΡ€ΠΎΡ‚Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π° слСдуСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти значСния Π½ΠΈΠΊΠΎΠ³Π΄Π° нС измСнятся, а сохранСниС Π²Β ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ случайно ΠΈΡ… нС измСнят.

Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, списки ΠΈΒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Β Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ), Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ ΠΊΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΡ… элСмСнту ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»Β β€” Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π²Β ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΈΠΌΠ΅Π΅Ρ‚ свой порядковый индСкс.

Π’Β ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ элСмСнт Москва записан в спискС с индСксом 0, Π₯Сльсинки с индСксом 1, Π°Β ‘Анкара’ с индСксом 2.

cities = ['Москва', 'Π₯Сльсинки' ,'Анкара']
for city in cities:
    print(city)

# Москва
# Π₯Сльсинки
# Анкара

Π’ΠΎΡ‚ ΠΌΡ‹ и познакомились с опСратором forΒ β€” Ρ†ΠΈΠΊΠ»ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π¦ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π²Β ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΈΒ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… инструкций Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ко всСм этим элСмСнтам ΠΈΒ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ними.

НапримСр, ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ списка строк, ΠΈΒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° upper() ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ символы ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки прописными:

cities = ['Москва', 'Π₯Сльсинки' ,'Анкара']
for city in cities:
    print(city.upper())

# ΠœΠžΠ‘ΠšΠ’Π
# Π₯Π•Π›Π¬Π‘Π˜ΠΠšΠ˜
# АНКАРА

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Β ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²Ρ‹ΡˆΠ΅, Ρ†ΠΈΠΊΠ» for опрСдСляСтся синтаксисом: for имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ in имя_ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Π³Π΄Π΅ *имя_пСрСмСнной – Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ
Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·Β ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ основныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с tuples

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ со списками ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python β€” это стандартный Ρ‚ΠΈΠΏ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ значСния Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Они ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ позволяя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ…. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹, Π½ΠΎ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ структурС измСнСния Π½Π΅ отобразятся.

Π’ этом руководствС Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Python Π² подробностях:

  • Π£Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ. Π£Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ нСизмСняСмый Ρ‚ΠΈΠΏ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…
  • Π Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ, Ρ‡Π΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ списков
  • ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с опСрациями: срСзами, ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠ΅ΠΉ, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅
  • Π£Π²ΠΈΠ΄ΠΈΡ‚Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ сразу нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆ Python

Π­Ρ‚Π° структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ упорядочСнных ΠΈ нСизмСняСмых элСмСнтов.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок (). Для создания Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

cake = ('c','a','k','e') 
print(type(cake))
<class 'tuple'>

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: type() β€” это встроСнная функция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ значСния. Но послС объявлСния ΠΈΡ… ΡƒΠΆΠ΅ нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ:

mixed_type = ('C',0,0,'K','I','E')

for i in mixed_type:
    print(i,":",type(i))
C : <class 'str'>
0 : <class 'int'>
0 : <class 'int'>
K : <class 'str'>
I : <class 'str'>
E : <class 'str'>

mixed_type[1] = "O"
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-16-dec28c299a95> in <module>()
----> 1 mixed_type[1] = 'O'  # ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 0 Π½Π° Β«OΒ»


TypeError: 'tuple' object does not support item assignment

ПослСдняя ошибка появилась ΠΈΠ·-Π·Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ значСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

numbers_tuple = 1,2,3,4,5
print(type(numbers_tuple))
<class 'tuple'>

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² списков

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° списки. По сути, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми списками. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ послС создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² Π½Π΅ΠΌ значСния нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ. Π”ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ нСльзя:

numbers_tuple = (1,2,3,4,5)
numbers_list = [1,2,3,4,5]


numbers_tuple.append(6)
---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-26-e48876d745ce> in <module>()
      3 
      4 # Π”ΠΎΠ±Π°Π²ΠΈΠΌ число Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
----> 5 numbers_tuple.append(6)


AttributeError: 'tuple' object has no attribute 'append'

Ошибка появляСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ нСльзя Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² случаС со списками.


numbers_list.append(6)
numbers_list.append(7)
numbers_list.append(8)


numbers_list.remove(7)
print(numbers_list)
[1, 2, 3, 4, 5, 6, 8]

Но Π·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ссли ΠΎΠ½ нСизмСняСмый?

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΊ элСмСнтам, Π½ΠΎ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС списков. Рассмотрим Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

>>> import timeit
>>> timeit.timeit('x=(1,2,3,4,5,6,7,8,9)', number=100000)
0.0018976779974764213
>>> timeit.timeit('x=[1,2,3,4,5,6,7,8,9]', number=100000)
0.019868606992531568

ΠšΠ°ΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π² случаС с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ?

Богласно ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python нСизмСняСмый β€” это Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с фиксированным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌΒ», Π½ΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Β«Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» β€” это чСрСсчур Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ id. id опрСдСляСт располоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти.

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:


n_tuple = (1, 1, [3,4])


id(n_tuple[0]) == id(n_tuple[1])
True

id(n_tuple[0]) == id(n_tuple[2])
False
print(id(n_tuple[0]), id(n_tuple[2]))
4297148528, 4359711048
n_tuple.append(5)
---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-40-3cd388e024ff> in <module>()
----> 1 n_tuple.append(5)


AttributeError: 'tuple' object has no attribute 'append'

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

n_tuple[2].append(5)
n_tuple
(1, 1, [3, 4, 5])

Π­Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ? ΠšΡƒΠ΄Π° Π² Ρ‚Π°ΠΊΠΎΠΌ случаС дСлась ΠΈΡ… Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ?

Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ id списка Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π½Π΅ мСняСтся нСсмотря Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π² Π½Π΅Π³ΠΎ элСмСнт 5.

id(n_tuple[2])
4359711048

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

НСкоторыС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСизмСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹: строки ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅) β€” нСизмСняСмыС, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (содСрТащиС измСняСмыС Ρ‚ΠΈΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, списки) измСняСмыС. Но это ΠΎΡ‡Π΅Π½ΡŒ обсуТдаСмая Ρ‚Π΅ΠΌΠ° срСди программистов Π½Π° Python ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ познания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π΅. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмыС.

  • Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½ΠΈΡ… Π½ΠΎΠ²Ρ‹Π΅ элСмСнты. Π£ этого Ρ‚ΠΈΠΏΠ° Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² append() ΠΈΠ»ΠΈ extend()
  • Π£Π΄Π°Π»ΡΡ‚ΡŒ элСмСнты Ρ‚ΠΎΠΆΠ΅ нСльзя, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·-Π·Π° нСизмСняСмости. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² remove() ΠΈ pop() здСсь Π½Π΅Ρ‚
  • Π˜ΡΠΊΠ°Ρ‚ΡŒ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ этот процСсс Π΅Π³ΠΎ Π½Π΅ мСняСт
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ постоянный Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ вмСсто списка. Он Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС. Плюс, это бСзопаснСС, вСдь Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ ΠΎΡ‚ записи.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ списках Python, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим руководством!

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ

Python прСдоставляСт нСсколько способов для управлСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ. Рассмотрим ΠΈΡ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π‘Ρ€Π΅Π·Ρ‹

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ β€” 0. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ со списками эти значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками [] для получСния доступа ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌ:

numbers = (0,1,2,3,4,5)
numbers[0]
0

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния:

numbers[-1]
5

Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСзов становятся доступны ΠΈ подмноТСства. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ индСксов:

[ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкст (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½):ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс (ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½):Частота]

Частота Π² Π΄Π°Π½Π½ΠΎΠΌ случаС являСтся ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Π° Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 1.

# Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с индСксом 4 ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½
numbers[1:4]
(1, 2, 3)

numbers[:]
(0, 1, 2, 3, 4, 5)
# Частота = 2
numbers[::2]
(0, 2, 4)

Π‘ΠΎΠ²Π΅Ρ‚: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ частоты ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

numbers[::-1]
(5, 4, 3, 2, 1, 0)

ОбъСдинСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ объСдинСния выполняСт ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ Π΄Π²ΡƒΡ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

x = (1,2,3,4)
y = (5,6,7,8)


z = x + y 
print(z)
(1, 2, 3, 4, 5, 6, 7, 8)
y = [5,6,7,8]
z = x + y
print(z)
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-55-d442c6414a4c> in <module>()
      1 y = [5,6,7,8]
----> 2 z = x + y
      3 print(z)


TypeError: can only concatenate tuple (not "list") to tuple

Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ список закончится ошибкой.

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ умноТСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ повторяСтся нСсколько Ρ€Π°Π·.

x = (1,2,3,4)
z = x*2
print(z)
(1, 2, 3, 4, 1, 2, 3, 4)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списков Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ append(), remove(), extend(), insert() ΠΈΠ»ΠΈ pop() ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ ΠΈΠ·-Π·Π° ΠΈΡ… нСизмСняСмости. Но Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅:

count() ΠΈ len()

count() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

a = [1,2,3,4,5,5]
a.count(5)
2

len() β€” Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:

a = (1,2,3,4,5)
print(len(a))
5

any()

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ any() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. Если Π΄Π°, Ρ‚ΠΎ ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ True.

a = (1,)
print(any(a))
True

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΡΡ‚ΡƒΡŽ (,) Π² объявлСнии ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° a. Если Π΅Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом? Python ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎ ошибкС Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ лишнюю ΠΏΠ°Ρ€Ρƒ скобок (это Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ Π½Π΅ влияСт), Π½ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°ΠΊΠΎΠΌ случаС β€” это Π½Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΈ объявлСнии ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом.

И снова ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ any. Π’ Π±ΡƒΠ»Π΅Π²ΠΎΠΌ контСкстС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π²Π΅Ρ€Π½Π΅Ρ‚ False, Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом β€” True.

b = ()
print(any(b))
False

Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ссли ΠΊΠΎΡ€Ρ‚Π΅ΠΆ вызываСтся? ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ пустой.

tuple()

Ѐункция tuple() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

a_list = [1,2,3,4,5]
b_tuple = tuple(a_list)
print(type(b_tuple))
<class 'tuple'>

min() ΠΈ max()

Ѐункция max()q Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ самый большой элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° min() β€” самый малСнький. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

print(max(a))
print(min(a))
5
A

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ со строками.


a = ('Apple') 
print(max(a))
p

sum()

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сумму элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с числовыми значСниями.

sum(a)
28

sorted()

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с отсортированными элСмСнтами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ sorted() ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

a = (6,7,4,2,1,5,3)
sorted(a)
[1, 2, 3, 4, 5, 6, 7]

Но Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ β€” список, Π° Π½Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. ΠŸΡ€ΠΈ этом ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Π°, Π° сам ΠΎΠ½ остаСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ.

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ нСсколько ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для присваивания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ:

a = (1,2,3)
(one,two,three) = a
print(one)
1

a β€” это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… элСмСнтов ΠΈ (one, two, three) β€” ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ (one, two, three) ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ a присваиваСт ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: one, two ΠΈ three ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ количСству ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ самыС распространСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ β€” распространСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ структур Python. А Π² качСствС бонуса Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ нСскольким ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ значСния.

Python | Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ списком ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ

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

 list_data = ['an', 'example', 'of', 'a', 'list'] 

Tuple Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ эти Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ — это Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Python, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. ΠšΠΎΡ€Ρ‚Π΅ΠΆ быстрСС списка ΠΈΠ·-Π·Π° статичности ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅.
Бинтаксис:

 tuple_data = ('this', 'is', 'an', 'example', 'of', 'tuple') 

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ списком ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ Π² Python:

SR.НЕВ. LIST TUPLE
1 Бписки измСняСмы ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹
2 ВлияниС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠŸΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΡ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС
3 Бписок Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для выполнСния Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ вставка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для доступа ΠΊ элСмСнтам
4 Бписки ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС памяти ΠšΠΎΡ€Ρ‚Π΅ΠΆ потрСбляСт мСньшС памяти ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со списком
5 Бписки ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
6 Π‘ΠΎΠ»Π΅Π΅ вСроятны Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΈ ошибки. Π’ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ это слоТно.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ! Π£ΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ свои основы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курса Python Programming Foundation ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ основы.

Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΊ собСсСдованию. Π Π°ΡΡˆΠΈΡ€ΡŒΡ‚Π΅ свои ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курса Python DS . И Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ своС ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ, ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ — Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ курс

3.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ — Π½Π°Ρ‡Π°Π»ΠΎ программирования Π½Π° Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

3.1. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ прСдставили встроСнныС Ρ‚ΠΈΠΏΡ‹ Python int , float ,
ΠΈ str , ΠΈ ΠΌΡ‹ Π½Π°Ρ‚ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ .

Π¦Π΅Π»Ρ‹Π΅ числа ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой относятся ΠΊ числовым Ρ‚ΠΈΠΏΠ°ΠΌ , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ содСрТат числа. ΠœΡ‹
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ числовыС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числовыС
выраТСния. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ эти выраТСния для
ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ числовыС значСния, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Python ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ
ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ — это всС Ρ‚ΠΈΠΏΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ , Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ
ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ —
упорядочСнный Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ².

Π’ΠΈΠΏΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ качСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ числовых Ρ‚ΠΈΠΏΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ
составных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ состоят ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… частСй. Π²
Π’ случаС строк ΠΎΠ½ΠΈ состоят ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… строк, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΎΠ΄Π½Ρƒ
пСрсонаТ. Π’Π°ΠΌ
Ρ‚Π°ΠΊΠΆΠ΅ пустая строка , Π½Π΅ содСрТащая Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… символов.

Π’ случаС списков ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΠ½ΠΈ состоят ΠΈΠ· элСмСнтов , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
значСния любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Python, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ.

Бписки Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ( [ ΠΈ ] ) ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²
ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ( ( ΠΈ ) ).

Бписок, Π½Π΅ содСрТащий элСмСнтов, называСтся пустым списком , Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с
НСт элСмСнтов — это пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ .

 [10, 20, 30, 40, 50]
[«спам», Β«Ρ‚Π°Ρ€Π·Π°Π½ΠΊΠ°Β», Β«Π³Π»ΠΎΡ‚Π°Ρ‚ΡŒΒ»]
(2, 4, 6, 8)
(Β«Π΄Π²Π°Β», Β«Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Β», Β«ΡˆΠ΅ΡΡ‚ΡŒΒ», «восСмь»)
[("сыр", "queso"), ("красный", "rojo"), ("школа", "escuela")]
 

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ — это список ΠΈΠ· пяти Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ — список ΠΈΠ· Ρ‚Ρ€Π΅Ρ…
струны.Π’Ρ€Π΅Ρ‚ΠΈΠΉ — это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ†Π΅Π»Ρ‹Ρ… числа, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
содСрТащий Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ струны. ПослСдний — это список, содСрТащий Ρ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ·
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΠ°Ρ€Ρƒ строк.

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ составной Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ
ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‰ΡŒ, ΠΈΠ»ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΅Π΅ частям. Π­Ρ‚Π° Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

МоТно ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми:

 >>> Π²Π΅Ρ‰ΡŒ = 2, 4, 6, 8
>>> Ρ‚ΠΈΠΏ (Π²Π΅Ρ‰ΡŒ)
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
>>> Π²Π΅Ρ‰ΡŒ
(2, 4, 6, 8)
 

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с
ΠΎΠ΄ΠΈΠ½ элСмСнт:

 >>> ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт = (2,)
>>> Ρ‚ΠΈΠΏ (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ)
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
>>> not_tuple = (2)
>>> Ρ‚ΠΈΠΏ (not_tuple)
<класс 'int'>
>>> empty_tuple = ()
>>> Ρ‚ΠΈΠΏ (empty_tuple)
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
 

Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случая пустого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π½Π° самом Π΄Π΅Π»Π΅ это запятыС, Π° Π½Π΅
ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ говорят Python, Ρ‡Ρ‚ΠΎ это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

3.2. Π Π°Π±ΠΎΡ‚Π° с частями ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’ΠΈΠΏΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

3.2.1. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ индСксации ( [ ] ) Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈΠ·
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках называСтся индСксом ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ
Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом. ИндСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ , ΠΊΠ°ΠΊΠΎΠΉ элСмСнт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΅Π³ΠΎ
Π½Π°Π·Π²Π°Π½ΠΈΠ΅.

 >>> Ρ„Ρ€ΡƒΠΊΡ‚ = "Π±Π°Π½Π°Π½"
>>> Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹ [1]
'Π°'
>>> fruit = ['яблоки', 'вишня', 'Π³Ρ€ΡƒΡˆΠΈ']
>>> Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹ [0]
'яблоки'
>>> Ρ†Π΅Π½Ρ‹ = (3.99, 6,00, 10,00, 5,25)
>>> Ρ†Π΅Π½Ρ‹ [3]
5,25
>>> ΠΏΠ°Ρ€Ρ‹ = [('сыр', 'queso'), ('красный', 'rojo'), ('школа', 'escuela')]
>>> ΠΏΠ°Ρ€Ρ‹ [2]
('школа', 'escuela')
 

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΠ΄ [1] Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ с индСксом 1 ΠΈΠ·
ΠΏΠ»ΠΎΠ΄ ΠΈ создаСт Π½ΠΎΠ²ΡƒΡŽ строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот ΠΎΠ΄ΠΈΠ½ символ,
Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹, ΡƒΠ²ΠΈΠ΄Π΅Π² это 'a' .

Π’Ρ‹, вСроятно, ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ 'b' , Π½ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΡƒΡ‡Π΅Π½Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚
отсчСт с нуля, Π° Π½Π΅ с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± индСксС ΠΊΠ°ΠΊ ΠΎ числах Π½Π° Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅
ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, сколько элСмСнтов Π²Ρ‹ пСрСмСстили Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·
Π½Π°Ρ‡Π°Π»ΠΎ. И Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ, ΠΈ индСксы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0 .

3.2.2. Π”Π»ΠΈΠ½Π°

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π³Π»Π°Π²Π΅ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для получСния количСства символов.
Π² строкС:

Для списков ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

 >>> len (['a', 'b', 'c', 'd'])
4
>>> len ((2, 4, 6, 8, 10, 12))
6
>>> ΠΏΠ°Ρ€Ρ‹ = [('сыр', 'queso'), ('красный', 'rojo'), ('школа', 'escuela')]
>>> len (ΠΏΠ°Ρ€Ρ‹)
3
 

3.2.3. Доступ ΠΊ элСмСнтам Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся доступ ΠΊ элСмСнтам Π² ΠΊΠΎΠ½Ρ†Π΅
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ познакомились с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ len , Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ соблазн
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

 >>> seq = [1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0]
>>> last = seq [len (seq)] # ΠžΠ¨Π˜Π‘ΠšΠ!
 

Π­Ρ‚ΠΎ Π½Π΅ сработаСт. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния IndexError: список индСкса Π²Π½Π΅
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ len (seq) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов Π²
list, 16, Π½ΠΎ Π½Π΅Ρ‚ элСмСнта Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ индСкса 16 Π² seq .

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ отсчСт с нуля, ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ индСксов ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 15. Π§Ρ‚ΠΎΠ±Ρ‹
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдний элСмСнт, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ 1 ΠΈΠ· Π΄Π»ΠΈΠ½Ρ‹:

 >>> last = seq [len (seq) - 1]
 

Π­Ρ‚ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространСнный шаблон, Ρ‡Ρ‚ΠΎ Python прСдоставляСт ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ для
it, ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация , которая отсчитываСтся Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ seq [-1] Π΄Π°Π΅Ρ‚ послСдний элСмСнт, seq [-2] Π΄Π°Π΅Ρ‚
прСдпослСдний ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

 >>> prime_nums = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
>>> простыС_числа [-2]
29
>>> одноклассники = («АлСхандро», Β«Π­Π΄Β», Β«ΠšΡΡ‚Ρ€ΠΈΠ½Β», Β«ΠŸΡ€Π΅ΡΠΈΠ»Π°Β», Β«Π¨ΠΎΠ½Β», Β«ΠŸΠΈΡ‚Π΅Ρ€Β»)
>>> одноклассники [-5]
'Π­Π΄'
>>> word = "Алфавит"
>>> слово [-3]
'b'
 

3.2.4. ΠžΠ±Ρ…ΠΎΠ΄ ΠΈ

для ΠΏΠ΅Ρ‚Π»ΠΈ

МногиС вычислСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ элСмСнту Π·Π° Ρ€Π°Π·.
НаиболСС распространСнный шаблон — Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π½Π°Ρ‡Π°Π»Π°, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π²
ΠΏΠΎΠ²Π΅Ρ€Π½ΠΈΡ‚Π΅, сдСлайтС Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ с Π½ΠΈΠΌ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†
ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° называСтся ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ .

Π¦ΠΈΠΊΠ» for Python позволяСт Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄:

 prime_nums = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]

для числа Π² простых_числах:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (число ** 2)
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠœΡ‹ обсудим Ρ†ΠΈΠΊΠ» Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅. Пока Ρ‡Ρ‚ΠΎ
просто ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ (:) Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΈ
отступ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±Ρ‹Π»
синтаксичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

3.3.

ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ стандартный Ρ†ΠΈΠΊΠ» для ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ½ присваиваСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° встрСчаСтся Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
Иногда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта.
Ѐункция enumerate Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ это:

 Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² = ["яблоки", "Π±Π°Π½Π°Π½Ρ‹", "Ρ‡Π΅Ρ€Π½ΠΈΠΊΠ°", "Π°ΠΏΠ΅Π»ΡŒΡΠΈΠ½Ρ‹", "ΠΌΠ°Π½Π³ΠΎ"]

для index, fruit in enumerate (Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹):
    print ("Π€Ρ€ΡƒΠΊΡ‚" + Ρ„Ρ€ΡƒΠΊΡ‚ + "находится Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ" + str (index) + ".")
 

3.3.1. Π›ΠΎΠΌΡ‚ΠΈΠΊΠΈ

ΠŸΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ называСтся срСзом ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, которая
ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, которая называСтся , Π½Π°Ρ€Π΅Π·ΠΊΠ° . Как ΠΈ Π² случаС с индСксациСй, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ
ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ( [ ] ) Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° срСза, Π½ΠΎ вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π°, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (: ):

 >>> ΠΏΠ΅Π²Ρ†Ρ‹ = "ΠŸΠ΅Ρ‚Ρ€, ПавСл ΠΈ ΠœΠ°Ρ€ΠΈΡ"
>>> ΠΏΠ΅Π²Ρ†Ρ‹ [0: 5]
'ΠŸΠΈΡ‚Π΅Ρ€'
>>> ΠΏΠ΅Π²Ρ†Ρ‹ [7:11]
'ПавСл'
>>> ΠΏΠ΅Π²Ρ†Ρ‹ [17:21]
'ΠœΡΡ€ΠΈ'
>>> одноклассники = («АлСхандро», Β«Π­Π΄Β», Β«ΠšΡΡ‚Ρ€ΠΈΠ½Β», Β«ΠŸΡ€Π΅ΡΠΈΠ»Π°Β», Β«Π¨ΠΎΠ½Β», Β«ΠŸΠΈΡ‚Π΅Ρ€Β»)
>>> одноклассники [2: 4]
('ΠšΡΡ‚Ρ€ΠΈΠ½', 'ΠŸΡ€Π΅ΡΠΈΠ»Π°')
 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ [n: m] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· n-Π³ΠΎ элСмСнта.
ΠΊ m-ΠΌΡƒ элСмСнту, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ послСдний.Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΠΈ; это Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ большС смысла, Ссли Π²Ρ‹ прСдставитС индСксы, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅
ΠΌΠ΅ΠΆΠ΄Ρƒ символами, ΠΊΠ°ΠΊ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅:

Если Π²Ρ‹ опуститС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс (ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ), срСз начнСтся с
Π½Π°Ρ‡Π°Π»ΠΎ строки. Если Π²Ρ‹ опуститС Π²Ρ‚ΠΎΡ€ΠΎΠΉ индСкс, срСз ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ ΠΊ
ΠΊΠΎΠ½Π΅Ρ† строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 >>> Ρ„Ρ€ΡƒΠΊΡ‚ = "Π±Π°Π½Π°Π½"
>>> Ρ„Ρ€ΡƒΠΊΡ‚ [: 3]
'Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ'
>>> Ρ„Ρ€ΡƒΠΊΡ‚ [3:]
'Π°Π½Π°'
 

Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ s [:] ? А ΠΊΠ°ΠΊ насчСт одноклассников [4:] ?

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, поэтому

 >>> Ρ„Ρ€ΡƒΠΊΡ‚ [-2:]
'Π½Π°'
>>> одноклассники [: - 2]
('АлСхандро', 'Π­Π΄', 'ΠšΡΡ‚Ρ€ΠΈΠ½', 'ΠŸΡ€Π΅ΡΠΈΠ»Π°')
 

Подсказка

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Ρ€Π΅Π·ΠΊΠ°.Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ
создавайтС свои собствСнныС «экспСримСнты» с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ смоТСтС
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ запуском.

Когда Π²Ρ‹ Π½Π°Ρ€Π΅Π·Π°Π΅Ρ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСгда ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ
ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ с
индСксация, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ строк.

 >>> странный_лист = [(1, 2), [1, 2], '12', 12, 12.0]
>>> print (список_Ρ‚Ρ€Π°Π½Π·ΠΈ [0], Ρ‚ΠΈΠΏ (список_странных [0]))
(1, 2) <класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
>>> print (странный_лист [0: 1], Ρ‚ΠΈΠΏ (странный_лист [0: 1]))
[(1, 2)] <класс 'список'>
>>> print (список_Ρ‚Ρ€Π°Π½Π·ΠΈ [2], Ρ‚ΠΈΠΏ (список_странных [2]))
12 <класс 'str'>
>>> print (список_Ρ‚Ρ€Π°Π½Π·ΠΈ [2: 3], Ρ‚ΠΈΠΏ (список_странных [2: 3]))
[12] <список классов>
>>>
 

Π₯отя элСмСнты списка (ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹
Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ списка — это список.

3.3.2.

Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚, содСрТится Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт Π² спискС ΠΈΠ»ΠΈ
ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

 >>> stuff = ['это', 'Ρ‚ΠΎ', 'эти', 'Ρ‚Π΅']
>>> 'this' Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅
ΠŸΡ€Π°Π²Π΄Π°
>>> 'всС' Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅
Π›ΠΎΠΆΡŒ
>>> 4 Π² (2, 4, 6, 8)
ΠŸΡ€Π°Π²Π΄Π°
>>> 5 Π² (2, 4, 6, 8)
Π›ΠΎΠΆΡŒ
 

Π² нСсколько ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со строками. Он оцСниваСтся ΠΊΠ°ΠΊ Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ , Ссли ΠΎΠ΄ΠΈΠ½
строка являСтся подстрокой Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ:

 >>> 'p' в 'яблокС'
ΠŸΡ€Π°Π²Π΄Π°
>>> 'я' в 'яблокС'
Π›ΠΎΠΆΡŒ
>>> 'ap' в 'яблокС'
ΠŸΡ€Π°Π²Π΄Π°
>>> 'pa' в 'яблокС'
Π›ΠΎΠΆΡŒ
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ строка являСтся подстрокой самой сСбя, Π° пустая строка — это подстрока.
подстрока любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки.(Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ программисты Π»ΡŽΠ±ΡΡ‚
ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этих ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях ΠΎΡ‡Π΅Π½ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ!)

 >>> 'Π°' Π² 'Π°'
ΠŸΡ€Π°Π²Π΄Π°
>>> "яблоко" в "яблокС"
ΠŸΡ€Π°Π²Π΄Π°
>>> '' Π² 'Π°'
ΠŸΡ€Π°Π²Π΄Π°
>>> '' в 'яблокС'
ΠŸΡ€Π°Π²Π΄Π°
 

3,4. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹,
Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ хранят цСнности, Π½ΠΎ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС ΠΌΠΎΠ΄Π΅Π»ΠΈ повСдСния.
называСтся
ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° значСния Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строковыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² дСйствии, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

 >>> 'яблоко'.upper ()
'Π―Π‘Π›ΠžΠšΠž'
>>> 'COSATU'.lower ()
'cosatu'
>>> 'rojina'.capitalize ()
'Π ΠΎΠΆΠΈΠ½Π°'
>>> '42'.isdigit ()
ΠŸΡ€Π°Π²Π΄Π°
>>> 'four'.isdigit ()
Π›ΠΎΠΆΡŒ
>>> 'remove_the_spaces' .strip ()
'remove_the_spaces'
>>> 'Миссисипи'. НачинаСтся с ('Мисс')
ΠŸΡ€Π°Π²Π΄Π°
>>> 'Aardvark'.startswith (' ΠœΡƒΡ€Π°Π²Π΅ΠΉ ')
Π›ΠΎΠΆΡŒ
 

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ научимся ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ. КаТдая строка Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅
ПослС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² слСдуСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ , , имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
список
, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π° строкой "яблоко" слСдуСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ.
Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ upper () , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ пустой список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ
Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ upper () — это , Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² строкС, 'apple' .
Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия с использованиСм значСния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ
вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄. ДСйствиС Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Β«Π―Π±Π»ΠΎΠΊΠΎΒ» . ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ upper () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку
Β«AppleΒ» , ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ вызываСтся (ΠΈΠ»ΠΈ вызываСтся для ) строки «яблоко» .

Π’ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ - это Ρ†ΠΈΡ„Ρ€Π° () (снова с пустым ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ
list) вызываСтся Π² строкС '42' . ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· пСрсонаТСй
строка прСдставляСт собой Ρ†ΠΈΡ„Ρ€Ρƒ, ΠΌΠ΅Ρ‚ΠΎΠ΄ isdigit () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ΠŸΡ€Π°Π²Π΄Π° . Π’Ρ‹Π·ΠΎΠ² isdigit () Π½Π° 'Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅' Π΄Π°Π΅Ρ‚ False .

Полоса () удаляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

3,5. Ѐункция

dir () ΠΈ строки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±Ρ‹Π»ΠΈ прСдставлСны нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² строковых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².К
Π½Π°ΠΉΡ‚ΠΈ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Ρƒ строк, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный Π² Python dir
функция:

 >>> dir (str)
 ['__add__', '__class__', '__contains__', '__delattr__', '__doc__',
  '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
  '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__',
  '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__',
  '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
  '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
  'capize', 'center', 'count', 'encode', 'endwith', 'expandtabs',
  'Π½Π°ΠΉΡ‚ΠΈ', 'Ρ„ΠΎΡ€ΠΌΠ°Ρ‚', 'Ρ„ΠΎΡ€ΠΌΠ°Ρ‚_ΠΊΠ°Ρ€Ρ‚Ρ‹', 'индСкс', 'isalnum', 'isalpha',
  isdecimal, isdigit, isidentifier, islower, isnumeric,
  isprintable, isspace, istitle, isupper, join, ljust,
  'Π½ΠΈΠΆΠ½ΠΈΠΉ', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind',
  'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split',
  'splitlines', 'startwith', 'strip', 'swapcase', 'title', 'пСрСвСсти',
  'Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ', 'zfill']
>>>
 

ΠœΡ‹ ΠΎΡ‚Π»ΠΎΠΆΠΈΠΌ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ подчСркивания
( __ ) Π½Π° ΠΏΠΎΡ‚ΠΎΠΌ.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ
распСчатывая ΠΈΡ… строки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ это:

 >>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (str.replace .__ doc__)
S.replace (old, new [, count]) -> str

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ копию S со всСми вхоТдСниями подстроки
старыС Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Π½ΠΎΠ²Ρ‹Π΅. Если количСство Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ€Π°Π²Π½ΠΎ
Π·Π°Π΄Π°Π½ΠΎ, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ вхоТдСния счСтчика.
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это
ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

 >>> 'Миссисипи'. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ('i', 'X')
"MXssXssXppX"
>>> 'Миссисипи'. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ('p', 'MO')
'MississiMOMOi'
>>> 'Миссисипи'.replace (' i ',' ', 2)
'Mssssippi'
 

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ замСняСт всС вхоТдСния 'i' Π½Π° 'X' . Π’
Π²Ρ‚ΠΎΡ€ΠΎΠΉ замСняСт ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ 'p' двумя символами 'MO' .
Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° вхоТдСния 'i' ' Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ пустым
Π½ΠΈΡ‚ΡŒ.

3.6. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

count ΠΈ index

Π•ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для всСх Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ: count
ΠΈ индСкс . Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚.

 >>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (str.count .__ doc__)
S.count (sub [, Π½Π°Ρ‡Π°Π»ΠΎ [, ΠΊΠΎΠ½Π΅Ρ†]]) -> int

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π½Π΅ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ подстроки sub Π²
строка S [Π½Π°Ρ‡Π°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ†]. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ start ΠΈ end:
интСрпрСтируСтся ΠΊΠ°ΠΊ Π² ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ срСза.
>>> print (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.count .__ doc__)
T.count (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) -> Ρ†Π΅Π»ΠΎΠ΅ число - Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ значСния
>>> print (list.count .__ doc__)
L.count (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) -> integer - Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ значСния
>>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (str.index .__ doc__)
S.index (sub [, Π½Π°Ρ‡Π°Π»ΠΎ [, ΠΊΠΎΠ½Π΅Ρ†]]) -> int

Подобно S.find (), Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ValueError, Ссли подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°.
>>> print (tuple.index .__ doc__)
T.index (value, [start, [stop]]) -> integer - Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс значСния.
Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ValueError, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отсутствуСт.>>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (list.index .__ doc__)
L.index (value, [start, [stop]]) -> integer - Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс значСния.
Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ValueError, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отсутствуСт.
 

ΠœΡ‹ исслСдуСм эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² упраТнСниях.

3,7. Бписки измСняСмыС

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строк ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
нСизмСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, списки
ΡΠ²Π»ΡΡŽΡ‚ΡΡ измСняСмыми , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… элСмСнты. ИспользованиС ΠΊΡ€ΠΎΠ½ΡˆΡ‚Π΅ΠΉΠ½Π°
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ слСва ΠΎΡ‚ присваивания, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов:

 >>> fruit = ["банан", "яблоко", "айва"]
>>> fruit [0] = "Π³Ρ€ΡƒΡˆΠ°"
>>> fruit [-1] = "апСльсин"
>>> Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹
['Π³Ρ€ΡƒΡˆΠ°', 'яблоко', 'апСльсин]
 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ скобок, примСняСмый ΠΊ списку, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² любом мСстС выраТСния.Когда ΠΎΠ½ появляСтся слСва ΠΎΡ‚ задания, ΠΎΠ½ мСняСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ·
элСмСнтов Π² спискС, поэтому ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт fruit Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ с
Β«Π±Π°Π½Π°Π½Β» Π΄ΠΎ Β«Π³Ρ€ΡƒΡˆΠ°Β» ΠΈ послСдний ΠΎΡ‚ Β«Π°ΠΉΠ²Π°Β» Π΄ΠΎ «апСльсин» . An
присвоСниС элСмСнту списка называСтся присвоСниСм ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ . ΠŸΡƒΠ½ΠΊΡ‚
присвоСниС Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для строк:

 >>> my_string = 'Π’Π•Π‘Π’'
>>> my_string [2] = 'X'
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'str' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов
 

, но для списков:

 >>> my_list = ['T', 'E', 'S', 'T']
>>> my_list [2] = 'X'
>>> ΠΌΠΎΠΉ_лист
['T', 'E', 'X', 'T']
 

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° срСза ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сразу нСсколько элСмСнтов:

 >>> a_list = ['a', 'b', 'c', 'd', 'e', ​​'f']
>>> a_list [1: 3] = ['x', 'y']
>>> a_list
['a', 'x', 'y', 'd', 'e', ​​'f']
 

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка, Π½Π°Π·Π½Π°Ρ‡ΠΈΠ² ΠΈΠΌ пустой список:

 >>> a_list = ['a', 'b', 'c', 'd', 'e', ​​'f']
>>> a_list [1: 3] = []
>>> a_list
['a', 'd', 'e', ​​'f']
 

И ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² список, сТимая ΠΈΡ… Π² пустой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π²
ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ мСсто:

 >>> a_list = ['a', 'd', 'f']
>>> a_list [1: 1] = ['b', 'c']
>>> a_list
['a', 'b', 'c', 'd', 'f']
>>> a_list [4: 4] = ['e']
>>> a_list
['a', 'b', 'c', 'd', 'e', ​​'f']
 

3.8. УдалСниС списка

ИспользованиС срСзов для удалСния элСмСнтов списка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ΠΎ ошибкам.
Python прСдоставляСт Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ.

del удаляСт элСмСнт ΠΈΠ· списка:

 >>> a = ['ΠΎΠ΄ΠΈΠ½', 'Π΄Π²Π°', 'Ρ‚Ρ€ΠΈ']
>>> дСль а [1]
>>> Π°
['ΠΎΠ΄ΠΈΠ½ Ρ‚Ρ€ΠΈ']
 

Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, del ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя выполнСния
ошибка, Ссли индСкс Π²Π½Π΅ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСз Π² качСствС индСкса для del :

 >>> a_list = ['a', 'b', 'c', 'd', 'e', ​​'f']
>>> del a_list [1: 5]
>>> a_list
['a', 'f']
 

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, срСзы Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ всС элСмСнты Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ.
индСкс.

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

Помимо count ΠΈ index , списки ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки измСняСмы, эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ
вызываСтся, Π° Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ список.

 >>> mylist = []
>>> mylist.append ('это')
>>> мой список
['это']
>>> mylist.append ('это')
>>> мой список
['это', 'Ρ‚ΠΎ']
>>> mylist.insert (1, 'Π²Π΅Ρ‰ΡŒ')
>>> мой список
['это', 'Π²Π΅Ρ‰ΡŒ', 'Ρ‚ΠΎ']
>>> ΠΌΠΎΠΉ список.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ()
>>> мой список
['Ρ‚ΠΎ', 'Π²Π΅Ρ‰ΡŒ', 'это']
>>> mylist.remove ('Π²Π΅Ρ‰ΡŒ')
>>> мой список
['Ρ‡Ρ‚ΠΎ это']
>>> mylist.reverse ()
>>> мой список
['это', 'Ρ‚ΠΎ']
 

ΠœΠ΅Ρ‚ΠΎΠ΄ sort особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ использованиС
Python для сортировки Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ помСстили Π² список.

3.10. ИмСна ΠΈ измСняСмыС значСния

Если ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания,

 >>> a = [1, 2, 3]
>>> b = [1, 2, 3]
 

ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° a ΠΈ b Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ списку с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ
1 , 2 ΠΈ 3 .Но ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Π½Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ .
список.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° состояния:

ΠΈΠ»ΠΈ

Π’ ΠΎΠ΄Π½ΠΎΠΌ случаС a ΠΈ b относятся ΠΊ Π΄Π²ΡƒΠΌ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΎΠ½ΠΈ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ == :

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, относятся Π»ΠΈ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ is
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ a ΠΈ b Π½Π΅ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΈ
Ρ‡Ρ‚ΠΎ это пСрвая ΠΈΠ· Π΄Π²ΡƒΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ состояний, которая описываСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

3.11. ПсСвдоним

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ относятся ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Ссли ΠΌΡ‹ присвоим ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΎΠ±Π΅
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ:

 >>> a = [1, 2, 3]
>>> Π± = Π°
>>> Π° это Π±
ΠŸΡ€Π°Π²Π΄Π°
 

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это вторая ΠΈΠ· Π΄Π²ΡƒΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ состояний, которая описываСт
взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ΠΈ, a ΠΈ b , ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½
с псСвдонимом .ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки измСняСмы, измСнСния, внСсСнныС с ΠΎΠ΄Π½ΠΈΠΌ псСвдонимом, Π²Π»ΠΈΡΡŽΡ‚ Π½Π°
Π΄Ρ€ΡƒΠ³ΠΎΠΉ:

 >>> b [0] = 5
>>> Π°
[5, 2, 3]
 

Π₯отя Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ
Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ бСзопаснСС ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ появлСния псСвдонимов.
с измСняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для нСизмСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ‚,
ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ послС создания.

3.12. Бписки клонирования

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ список, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ копию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию самого списка, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки.Π­Ρ‚ΠΎΡ‚ процСсс
ΠΈΠ½ΠΎΠ³Π΄Π° называСтся ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ двусмыслСнности слова «копия».

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ срСза:

 >>> a = [1, 2, 3]
>>> b = a [:]
>>> Π±
[1, 2, 3]
 

Взяв любой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈΠ· , создаСт Π½ΠΎΠ²Ρ‹ΠΉ список. Π’ этом случаС срСз
состоят ΠΈΠ· всСго списка.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² b , Π½Π΅ бСспокоясь ΠΎ a :

 >>> b [0] = 5
>>> Π°
[1, 2, 3]
 

3.13. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список — это список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появляСтся ΠΊΠ°ΠΊ элСмСнт Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ списка. Π’ этом
list элСмСнт с индСксом 3 являСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ списком:

 >>> nested = ["ΠΏΡ€ΠΈΠ²Π΅Ρ‚", 2.0, 5, [10, 20]]
 

Если ΠΌΡ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ [3] , ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ [10, 20] . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ элСмСнт ΠΈΠ·
Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π²Π° шага:

 >>> elem = nested [3]
>>> элСм [0]
10
 

Или ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ скобок Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, поэтому это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ three-eth ΠΈΠ· Π²Π»ΠΎΠΆΠΈΠ» ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊ ΠΈΠ· Π½Π΅Π³ΠΎ элСмСнт one-eth.

3,14. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ списки

Python ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ списки строк Π² строки ΠΈ
Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ строки Π½Π° списки строк.

Команда list ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ создаСт список
ΠΈΠ· Π΅Π³ΠΎ элСмСнтов. ΠŸΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ строкС Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ список символов.

 >>> список ("Π₯рустящая Π»ΡΠ³ΡƒΡˆΠΊΠ°")
['C', 'r', 'u', 'n', 'c', 'h', 'y', '', 'F', 'r', 'o', 'g']
 

ΠœΠ΅Ρ‚ΠΎΠ΄ split вызываСтся для строки ΠΈ раздСляСт строку Π½Π° список
строк, разбивая Π΅Π³ΠΎ Π½Π° части всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° подстрока Π²Ρ‹Π·Π²Π°Π»Π°
появляСтся Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ — это ΠΏΡ€ΠΎΠ±Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, табуляции ΠΈ символы Π½ΠΎΠ²ΠΎΠΉ строки.

 >>> "Π₯рустящая Π»ΡΠ³ΡƒΡˆΠΊΠ° Π² Ρ‚Π΅ΠΌΠ½ΠΎΠΌ сладко-сладком шоколадС" .split ()
["Π₯рустящий", "Π»ΡΠ³ΡƒΡˆΠΊΠ°", "ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ", "Π²", "Ρ‚Π΅ΠΌΠ½Ρ‹ΠΉ", "сладко-Π³ΠΎΡ€ΡŒΠΊΠΈΠΉ", "ΡˆΠΎΠΊΠΎΠ»Π°Π΄Π½Ρ‹ΠΉ"]
 

Π—Π΄Π΅ΡΡŒ Ρƒ нас 'o' Π² качСствС раздСлитСля.

 >>> "Π₯рустящая Π»ΡΠ³ΡƒΡˆΠΊΠ° Π² Ρ‚Π΅ΠΌΠ½ΠΎΠΌ Π³ΠΎΡ€ΡŒΠΊΠΎΠ²Π°Ρ‚ΠΎΠΌ шоколадС" .split ('o')
['Crunchy fr', 'gc', 'с ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠΌ Ρ‚Π΅ΠΌΠ½ΠΎΠ³ΠΎ, сладко-Π³ΠΎΡ€ΡŒΠΊΠΎΠ³ΠΎ ch', 'c', 'ΠΏΠΎΠ·Π΄Π½ΠΎ']
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ раздСлитСля Π½Π΅Ρ‚ Π² спискС.

ΠœΠ΅Ρ‚ΠΎΠ΄ join ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ split .
Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° список строк ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку со всСми
элСмСнты списка соСдинСны вмСстС.

 >>> ''. join (['хрустящий', 'сырой', 'Π±Π΅Π· костСй', 'настоящий', 'ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ', 'Π»ΡΠ³ΡƒΡˆΠΊΠ°'])
'хрустящая сырая настоящая мСртвая Π»ΡΠ³ΡƒΡˆΠΊΠ° Π±Π΅Π· костСй'
 

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ join , дСйствуСт ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ помСщаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом списка Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ строкС.

 >>> '**'. Join (['хрустящий', 'сырой', 'Π±Π΅Π· костСй', 'настоящий', 'ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ', 'Π»ΡΠ³ΡƒΡˆΠΊΠ°'])
'хрустящая ** сырая ** Π±Π΅Π· костСй ** настоящая ** мСртвая ** Π»ΡΠ³ΡƒΡˆΠΊΠ°'
 

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустая строка.

 >>> '' .join (['хрустящий', 'сырой', 'Π±Π΅Π· костСй', 'настоящий', 'ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ', 'Π»ΡΠ³ΡƒΡˆΠΊΠ°'])
'crunchyrawunbonedrealdeadfrog'
 

3,15. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами значСния Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ участиСм
ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.Для
НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами a ΠΈ b :

Если Π½Π°ΠΌ приходится Π΄Π΅Π»Π°Ρ‚ΡŒ это часто, этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ становится Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ. Python прСдоставляСт
Ρ„ΠΎΡ€ΠΌΠ° назначСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° , которая Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

ЛСвая Ρ‡Π°ΡΡ‚ΡŒ прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…; правая Ρ‡Π°ΡΡ‚ΡŒ — это Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ присваиваСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ пСрСмСнная. ВсС выраТСния Π½Π°
правая сторона оцСниваСтся ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ. Π­Ρ‚Π° функция Π΄Π΅Π»Π°Π΅Ρ‚
НазначСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ довольно ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ.

ЕстСствСнно, количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… слСва ΠΈ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°
ΠΏΡ€Π°Π²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ:

 >>> Π°, Π±, Π², Π³ = 1, 2, 3
ValueError: трСбуСтся Π±ΠΎΠ»Π΅Π΅ 3 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для распаковки
 

3,16. ЛогичСскиС значСния

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ значСния — логичСскиС значСния — Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ Π² Ρ‡Π΅ΡΡ‚ΡŒ британских
ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ Π”ΠΆΠΎΡ€Π΄ΠΆ Π‘ΡƒΠ»ΡŒ.
Он создал ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π±ΡƒΠ»Π΅Π²ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ, которая являСтся основой всСх
соврСмСнная ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π­Ρ‚ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния Π² зависимости ΠΎΡ‚
являСтся Π»ΠΈ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ истинным ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ
ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ большС, Ρ‡Π΅ΠΌ просто ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€.

Π•ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° логичСских значСния: Π˜ΡΡ‚ΠΈΠ½Π° ΠΈ Π›ΠΎΠΆΡŒ .

 >>> Ρ‚ΠΈΠΏ (True)
<класс 'bool'>
>>> type (Π›ΠΎΠΆΡŒ)
<класс 'bool'>
 

ИспользованиС Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ² Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ true ΠΈ false Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ логичСскими
значСния Π² Python .:

 >>> Ρ‚ΠΈΠΏ (истина)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
Π€Π°ΠΉΠ» Β«<ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄>Β», строка 1, Π² <ΠΌΠΎΠ΄ΡƒΠ»Π΅>
NameError: имя 'true' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ
 

3.17. ЛогичСскиС выраТСния

ЛогичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ — это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰Π΅Π΅ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ == сравниваСт Π΄Π²Π° значСния ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

 >>> 5 == 5
ΠŸΡ€Π°Π²Π΄Π°
>>> 5 == 6
Π›ΠΎΠΆΡŒ
 

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Ρ€Π°Π²Π½Ρ‹, поэтому Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚
to True ; Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ 5 Π½Π΅ Ρ€Π°Π²Π½ΠΎ 6, поэтому ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ False .

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ == являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ распространСнных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния ; Π΄Ρ€ΡƒΠ³ΠΈΠ΅
ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

 x! = Y # x Π½Π΅ Ρ€Π°Π²Π½ΠΎ y
x> y # x большС y
x  = y # x большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ y
x <= y # x мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ y
 

Π₯отя эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, вСроятно, Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹, символы Python
отличаСтся ΠΎΡ‚ матСматичСских символов.РаспространСнной ошибкой являСтся использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ
Π·Π½Π°ΠΊ равСнства ( = ) вмСсто Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° равСнства ( == ). ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ =
- это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания , Π° == - это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния . Π’Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΌ
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ = < ΠΈΠ»ΠΈ => .

3,18. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° : ΠΈ , ΠΈΠ»ΠΈ , ΠΈ Π½Π΅ . Π’
сСмантика (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² английском языкС.НапримСр, x> 0 ΠΈ x <10 истинно, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли x большС 0 ΠΈ
ΠΏΡ€ΠΈ этом x мСньшС 10.

n% 2 == 0 ΠΈΠ»ΠΈ n% 3 == 0 истинно, Ссли Π»ΠΈΠ±ΠΎ условий истинно,
Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Ссли число дСлится Π½Π° 2 ΠΈΠ»ΠΈ дСлится Π½Π° 3.

НаконСц, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ not ΠΎΡ‚Ρ€ΠΈΡ†Π°Π΅Ρ‚ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, поэтому not (x> y)
истинно, Ссли (x> y) Π»ΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Ссли x мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ
Π³ΠΎΠ΄ .

 >>> 5> 4 ΠΈ 8 == 2 * 4
ΠŸΡ€Π°Π²Π΄Π°
>>> Π’Π΅Ρ€Π½ΠΎ ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎ
Π›ΠΎΠΆΡŒ
>>> Π›ΠΎΠΆΡŒ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π΄Π°
ΠŸΡ€Π°Π²Π΄Π°
 

3,19. ΠžΡ†Π΅Π½ΠΊΠ° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания

ЛогичСскиС выраТСния Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ выраТСния ΠΈ ΠΈΠ»ΠΈ ΠΈΠ»ΠΈ оцСниваСтся, ΠΊΠΎΠ³Π΄Π°
Π΅Π³ΠΎ значСния достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСго выраТСния.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для прСдотвращСния ошибок Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Π΅Ρ‚Π½ΠΎ Π»ΠΈ пятоС число Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл с ΠΈΠΌΠ΅Π½Π΅ΠΌ числа .

Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

 >>> числа = (5, 11, 13, 24)
>>> числа [4]% 2 == 0
 

, Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅Ρ‚ 5 элСмСнтов Π² числах , ΠΈ Π² этом случаС Π²Ρ‹
ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚:

 Traceback (послСдний звонок послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
IndexError: индСкс ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²Π½Π΅ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
>>>
 

ΠžΡ†Π΅Π½ΠΊΠ° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

 >>> len (числа)> = 5 ΠΈ числа [4]% 2 == 0
Π›ΠΎΠΆΡŒ
 

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ лСвая Ρ‡Π°ΡΡ‚ΡŒ этого выраТСния ΠΈ Π»ΠΎΠΆΠ½Π°, Python Π½Π΅
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
Π»ΠΎΠΆΠ½Ρ‹ΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания, ΠΎΠ½ этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΈ срСда выполнСния
ошибки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

3.20. Β«ΠŸΡ€Π°Π²Π΄ΠΈΠ²ΠΎΡΡ‚ΡŒΒ»

ВсС цСнности Python ΠΈΠΌΠ΅ΡŽΡ‚ Β«ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΒ», Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ трСбуСтся логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Для числового ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ
Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΡ€Π°Π²Π΄ΠΈΠ²ΠΎΡΡ‚ΡŒ опрСдСляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

числовыС Ρ‚ΠΈΠΏΡ‹

ЗначСния, Ρ€Π°Π²Π½Ρ‹Π΅ 0, Π»ΠΎΠΆΠ½Ρ‹, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ€Π½Ρ‹.

Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ

ΠŸΡƒΡΡ‚Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ - Π»ΠΎΠΆΠ½Ρ‹Π΅, нСпустыС - истинныС.

ОбъСдинСниС этого понятия правдивости с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания
ΠΎΡ†Π΅Π½ΠΊΠ° позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Python Π²
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ выраТСния:

 >>> 'А' и 'яблоки'
'яблоки'
>>> '' и 'яблоки'
''
>>> '' ΠΈΠ»ΠΈ [5, 6]
[5, 6]
>>> ('a', 'b', 'c') ΠΈΠ»ΠΈ [5, 6]
('Π°', 'Π±', 'Π²')
 

3.21. Глоссарий

псСвдонимы

НСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ссылки Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Ρ€ΠΎΠ²Π½ΠΎ Π΄Π²Π° логичСских значСния: Π˜ΡΡ‚ΠΈΠ½Π° ΠΈ Π›ΠΎΠΆΡŒ . ЛогичСский
значСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΠ³Π΄Π° логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ оцСниваСтся Python
Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Π£ Π½ΠΈΡ… Ρ‚ΠΈΠΏ bool .

логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ истинным ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

clone

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ создаСтся псСвдоним, Π½ΠΎ Π½Π΅ клонируСтся
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния

Один ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΄Π²Π° значСния: == , ! = , > ,
<, > = ΠΈ <= .

составной Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ значСния состоят ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ элСмСнтов,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сами ΠΏΠΎ сСбС ΡΠ²Π»ΡΡŽΡ‚ΡΡ цСнностями.

element

Одна ΠΈΠ· частСй, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (строка, список ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ).Π£ элСмСнтов Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ индСкс. Доступ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
индСксный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ( [* index *] ) Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

нСизмСняСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ элСмСнтам ΠΈΠ»ΠΈ
срСзы нСизмСняСмых Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

index

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта упорядочСнной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ,
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символ ΠΈΠ· строки ΠΈΠ»ΠΈ элСмСнт ΠΈΠ· списка ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Один ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ логичСскиС выраТСния: ΠΈ ,
ΠΈΠ»ΠΈ , Π° Π½Π΅ .

измСняСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. ВсС измСняСмыС Ρ‚ΠΈΠΏΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ составными
Ρ‚ΠΈΠΏΡ‹. Бписки ΠΈ словари - это измСняСмыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…; струны ΠΈ
ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ - Π½Π΅Ρ‚.

Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список

Бписок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся элСмСнтом Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ списка.

slice

Π§Π°ΡΡ‚ΡŒ строки (подстроки), заданная Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ индСксов. Π‘ΠΎΠ»Π΅Π΅
ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ любого Ρ‚ΠΈΠΏΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создана
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° срСза (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ [Π½Π°Ρ‡Π°Π»ΠΎ: стоп] ).

Ρ€Π°Π·ΠΌΠ΅Ρ€ шага

Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’
Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ (ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° называСтся
Ρ€Π°Π·ΠΌΠ΅Ρ€ шага. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 1.

.

traverse

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, выполняя Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ
опСрация Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ.

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащий ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов любого Ρ‚ΠΈΠΏΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
list, Π½ΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½.ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ нСизмСняСмый Ρ‚ΠΈΠΏ
трСбуСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ»ΡŽΡ‡ Π² словарС (см. ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π³Π»Π°Π²Ρƒ).

присвоСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

НазначСниС всСм элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ с использованиСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ происходит ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π΅
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для ΠΎΠ±ΠΌΠ΅Π½Π° значСниями.

ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Python: ΠΊΠΎΠ³Π΄Π° ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ… списков | Π­Ρ€Π΄Π΅ΠΌ ИсбилСн

Π‘ Π»Π΅Π³ΠΊΠΈΠΌΠΈ для понимания ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…!

Π€ΠΎΡ‚ΠΎ Π›Π°Π»Ρ‹ Азизли Π½Π° Unsplash

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объясню ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… отличия , прСдоставив ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½Π°Π΄ списками.

  • Оба ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • Оба Ρ‚ΠΈΠΏΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ любого Ρ‚ΠΈΠΏΠ°.
  • Они ΠΎΠ±Π° упорядочСны, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ размСстили элСмСнты.
  • Оба ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ содСрТащиСся Π² Π½ΠΈΡ… элСмСнты.
  • К элСмСнтам ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° цСлочислСнного индСкса, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, [index]

Π˜Ρ‚Π°ΠΊ, Ρ‡Π΅ΠΌ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ?

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΈ списками состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, хотя ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ , списки ΡΠ²Π»ΡΡŽΡ‚ΡΡ измСняСмыми . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ списки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ дальшС разбСрСмся, ΠΊΠ°ΠΊ это влияСт Π½Π° наш ΠΊΠΎΠ΄ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния эффСктивности использования памяти ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки измСняСмы, Python Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти Π½Π° случай, Ссли потрСбуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° списка послС Π΅Π³ΠΎ создания. Напротив, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€, Python выдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π° эффСктивнСС памяти Π½Π° , Ρ‡Π΅ΠΌ списки.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ это Π² Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅;

 import sysa_list = list () 
a_tuple = tuple () a_list = [1,2,3,4,5]
a_tuple = (1,2,3,4,5) print (sys.getsizeof (a_list))
print (sys.getsizeof (a_tuple)) Π’Ρ‹Π²ΠΎΠ΄:
104 (Π±Π°ΠΉΡ‚ΠΎΠ² для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° списка
88 (Π±Π°ΠΉΡ‚ΠΎΠ² для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°)

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π° , ΠΏΠ°ΠΌΡΡ‚ΡŒ, нСобходимая для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² списка ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, различаСтся.

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ эффСктивности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, снова ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСбольшоС прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ списками, особСнно ΠΊΠΎΠ³Π΄Π° рассматриваСтся поиск значСния.

 import sys, platform 
import timeprint (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.python_version ()) start_time = time.time ()
b_list = list (range (10000000))
end_time = time.time ()
print ("ВрСмя создания LIST:", end_time - start_time) start_time = time.time ( )
b_tuple = tuple (range (10000000))
end_time = time.time ()
print («ВрСмя создания для TUPLE:Β», end_time - start_time)
start_time = time.time () для элСмСнта Π² b_list:
aa = b_list [20000]
end_time = time.time ()
print («ВрСмя поиска для LIST:Β», end_time - start_time) start_time = time.time ()
для элСмСнта Π² b_tuple:
aa = b_tuple [20000]
end_time = time.time ()
print («ВрСмя поиска для TUPLE:Β», end_time - start_time) Π’Ρ‹Π²ΠΎΠ΄:
3.6.9
ВрСмя создания для LIST: 0,4149961471557617
ВрСмя создания для TUPLE: 0,4139530658721924
ВрСмя поиска для LIST: 0,8162095546722412
ВрСмя поиска для TUPLE: 0,7768714427947998

Ну, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, это зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для измСнСния Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²Π°ΠΌ слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π° Π½Π΅ списки.

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

Π’ этой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объяснил, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΈ списками, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

  • ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΈ списками состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, хотя ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ , списки ΡΠ²Π»ΡΡŽΡ‚ΡΡ измСняСмыми .Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ списки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.
  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π° эффСктивнСС памяти Π½Π° , Ρ‡Π΅ΠΌ списки.
  • Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ эффСктивности ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, снова ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСбольшоС прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ списками, особСнно ΠΊΠΎΠ³Π΄Π° рассматриваСтся поиск значСния.
  • Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для измСнСния, Π²Π°ΠΌ слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π° Π½Π΅ списки.

НадСюсь, ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° для вас ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, ΠΈ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² своСм собствСнном ΠΊΠΎΠ΄Π΅ .

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python ΠΈ списки - Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ списков ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

БСсплатный курс Python с 25 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΠ°Ρ‡Π°Ρ‚ΡŒ сСйчас!

1. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python ΠΈ списки - Ρ†Π΅Π»ΡŒ

Π’ Π½Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… руководствах ΠΏΠΎ Python ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python ΠΈ списки Π² Python. Оба ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Python. Но ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ? Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос, ΠΌΡ‹ сначала Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ углубимся Π² Π΄Π²Π΅ конструкции, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ сравнСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Python ΠΈ списков.

Π˜Ρ‚Π°ΠΊ, приступим ΠΊ ΡƒΡ€ΠΎΠΊΡƒ Python Tuples vs Lists Tutorial.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python ΠΈ списки - Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ списков ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

2. ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² Python

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ списки, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡ…. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ смотрим Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.
ΠšΠΎΡ€Ρ‚Π΅ΠΆ - это Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ объявляСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. Однако ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, ΠΈ распаковку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ значСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

 >>> числа = (1,2, 'Ρ‚Ρ€ΠΈ')
>>> числа = 4,5,6
>>> a, b, c = числа
>>> print (numbers, a, b, c, type (numbers)) 

(4, 5, 6) 4 5 6

ΠšΠΎΡ€Ρ‚Π΅ΠΆ возвращаСтся, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ localtime () .

 >>> врСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
>>> time.localtime () 

time.struct_time (tm_year = 2018, tm_mon = 1, tm_mday = 1, tm_hour = 23, tm_min = 1, tm_sec = 59, tm_wday = 0, tm_yday = 1, tm_isdst = 0)

Для доступа ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ индСксированиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ начинаСтся с 0.

 >>> numbers [1] 

5

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ.

 >>> числа [: - 1] 

(4, 5)

НаконСц, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 >>> del Π½ΠΎΠΌΠ΅Ρ€Π°
>>> numbers 

Traceback (послСдний звонок послСдним):

Π€Π°ΠΉΠ» «», строка 1, Π²

numbers

NameError: name 'numbers' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ списков.Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ наши руководства ΠΏΠΎ Π½ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

3. ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ списков Π² Python

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ C ++, Ρƒ нас Π½Π΅Ρ‚ массивов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Python. ВмСсто этого Ρƒ нас Π΅ΡΡ‚ΡŒ список.

Бписки составляСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок.

 >>> colors = ['красный', 'синий', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ'] 

Бписки Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ.

 >>> Ρ†Π²Π΅Ρ‚Π° [-2:] 

[«синий», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ»]

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ….

 >>> Ρ†Π²Π΅Ρ‚Π° [0] = 'Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ'
>>> colors 

[Β«Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉΒ», «синий», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ»]

 >>> del colors [0]
>>> colors [0] 

«синий»

 >>> del colors
>>> colors 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдним):

Π€Π°ΠΉΠ» «», строка 1, Π²

colors

NameError: имя 'colors' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ освСТили Π½Π°ΡˆΡƒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ python ΠΈ списками.

4. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python ΠΈ списки - ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ

ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΈ списками состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ список являСтся измСняСмым, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ список ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ нСльзя.

Π°. Бписок являСтся измСняСмым

Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала рассмотрим списки. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм Π½ΠΎΠ²Ρ‹ΠΉ список.

 >>> list1 = [0,1,2,3,4,5,6,7] 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сначала ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ элСмСнт списка. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ элСмСнту Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3.

 >>> список1 [1] = 3
>>> list1 

[0, 3, 2, 3, 4, 5, 6, 7]

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ вСсь список.

 >>> list1 = [7,6,5,4,3,2,1,0]
>>> list1 

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

Π‘Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈΠ· списка.

 >>> del list1 [1]
>>> list1 

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

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ списка? Π”Π°Π²Π°ΠΉ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ.

 >>> del list1 [3:]
>>> list1 

[7, 5, 4]

Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ срСзу. МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ срСз?

 >>> число = [1,2,3,4,5]
>>> число [1: 3] = [6,7,8]
>>> nums 

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

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ. НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь список.

 >>> del list1
>>> list1 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):

Π€Π°ΠΉΠ» «», строка 1, Π²

list1

NameError: имя 'list1' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ

Бписок большС Π½Π΅ сущСствуСт.

Π³. ΠšΠΎΡ€Ρ‚Π΅ΠΆ нСизмСняСм

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ нСизмСняСм, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Для этого возьмСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 >>> mytuple = 0,1,2,3,4,5,6,7 

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт.

 >>> mytuple [1] = 3 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):

Π€Π°ΠΉΠ» «», строка 1, Π²

mytuple [1] = 3

TypeError : ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов.

Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 >>> mytuple = 2,3,4,5,6
>>> mytuple 

(2, 3, 4, 5, 6)

Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

 >>> mytuple [3:] 

(5, 6)

 >>> del mytuple [3:] 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):

Π€Π°ΠΉΠ» «», строка 1, Π²

del mytuple [3:]

TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта

Как Π²ΠΈΠ΄Π½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ для доступа, Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚.Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½.

МоТно Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт?

 >>> del mytuple [3] 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдним):

Π€Π°ΠΉΠ» «», строка 1, Π²

del mytuple [3]

TypeError: ' ΠžΠ±ΡŠΠ΅ΠΊΡ‚ tuple 'Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта

Будя ΠΏΠΎ всСму, ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 >>> del mytuple
>>> mytuple 

Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):

Π€Π°ΠΉΠ» «», строка 1, Π²

mytuple

NameError: имя mytuple Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ

Π˜Ρ‚Π°ΠΊ, здСсь ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Но Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько элСмСнтов ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим большС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ python ΠΈ списками.

5. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

НСкоторыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ: arelen (), max (), min (), sum (), any (), all (), sorted (). ΠœΡ‹ возьмСм здСсь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

 >>> max ((1,3, -1)) 

3

 >>> max ([1,3, -1]) 

3

6. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

Бписки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ index () ΠΈ count ().Но ΠΊΡ€ΠΎΠΌΠ΅ Π½ΠΈΡ…, Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ спискам. Π­Ρ‚ΠΎ append (), insert (), remove (), pop (), clear (), sort () ΠΈ reverse (). Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

 >>> [1,3,2] .index (3) 

1

 >>> (1,3,2) .index (3) 

1
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎΠ±ΠΎ всСх этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈ упомянутых Π½Π°ΠΌΠΈ функциях, Π²Π°ΠΌ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ нашим ΡΡ‚Π°Ρ‚ΡŒΡΠΌ ΠΎ списках ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ….

7. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² спискС

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² спискС, ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ.

 >>> mylist = [(1,2,3), (4,5,6)]
>>> type (mylist) 

 >>> type (mylist [1]) 

Но ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

[(1, β€˜ABC’), (2, β€˜DEF’), (3, β€˜GHI’)]

8. Бписки Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ для хранСния списков. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΊΠ°ΠΊ.

 >>> mytuple = ([1,2], [3,4], [5,6]) 

9. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ большС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° Π΄Π²Π° Π“Π°Π±Π°Ρ€ΠΈΡ‚Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

 >>> mytuple = ((1,2), (3, (4,5), (6, (7, (8,9)))))
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнту со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 8, ΠΌΡ‹ пишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

 >>> mytuple [1] [2] [1] [1] [0]
 

8

10. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ список ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ большС списков Π² любом количСствС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.

 >>> mylist = [[1,2], [3,4]]
>>> myotherlist = [[1,2], [3, [4,5]]] 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнту со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 5, ΠΌΡ‹ пишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

 >>> myotherlist [1] [1] [1]
 

5

11. Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, какая информация Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° для своСго Π²Π΅Π±-сайта.

 >>> person = ('ABC', 'admin', '12345')
 

Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ элСмСнты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² массивС Π² C ++, Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ список.

 >>> бакалСя = ['Ρ…Π»Π΅Π±', 'масло', 'сыр']
 

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

Π˜Ρ‚Π°ΠΊ, это всС ΠΎ Python Tuples vs Lists. НадСюсь, Π²Π°ΠΌ понравится нашС объяснСниС.

12. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ python ΠΈ списками, Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТным.ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ список ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ - Π½Π΅Ρ‚. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ список, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ элСмСнты, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Π΅ΠΌ, какая информация Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π΅Π³ΠΎ.

Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅? Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ Π² коммСнтариях.

Бсылка

Π’Π°ΡˆΠΈ 15 сСкунд побудят нас Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ усСрднСС
ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим счастливым ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π½Π° Google | Facebook

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python


mytuple = ("яблоко", "банан", "вишня")


ΠšΠΎΡ€Ρ‚Π΅ΠΆ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Tuple - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· 4 встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для хранСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ
Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ 3 - список,
Набор ΠΈ Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ, всС с Ρ€Π°Π·Π½Ρ‹ΠΌ качСством ΠΈ использованиСм.

ΠšΠΎΡ€Ρ‚Π΅ΠΆ - это Π½Π°Π±ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ упорядочСн ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ измСнСнию .

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки.

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

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

thistuple = ("яблоко", "банан", "вишня")
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (thistuple)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° упорядочСны, нСизмСняСмы ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° проиндСксированы, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ индСкс [0] , Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ индСкс [1] ΠΈ Ρ‚. Π”.


Π—Π°ΠΊΠ°Π·Π°Π½ΠΎ

Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ упорядочСны, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ порядок, ΠΈ этот порядок Π½Π΅ измСнится.


нСизмСняСмый

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π±Ρ‹Π» создан.


Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния:

thistuple = («яблоко», «банан», «вишня», «яблоко», «вишня»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (thistuple)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "



Π”Π»ΠΈΠ½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, сколько элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅
Ѐункция len ()
:

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

Π’Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ количСство элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅:

thistuple = ("яблоко", "банан", "вишня")
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π»Π΅Π½ (Ρ‡Π΅Ρ€Ρ‚ΠΎΠΏΠΎΠ»ΠΎΡ…))

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ послС элСмСнта,
ΠΈΠ½Π°Ρ‡Π΅ Python Π½Π΅ распознаСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

thistuple = ("яблоко",)
print (type (thistuple))

# НЕ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
thistuple = ("apple")
print (Ρ‚ΠΈΠΏ (thistuple))

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° - Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…:

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

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… String, int ΠΈ boolean:

tuple1 = ("яблоко", "банан", "вишня")
ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2 = (1, 5, 7, 9, 3)
tuple3 = (Π˜ΡΡ‚ΠΈΠ½Π°, Π›ΠΎΠΆΡŒ, Π›ΠΎΠΆΡŒ)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆ со строками, Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ логичСскими значСниями:

tuple1 = ("abc", 34, Π˜ΡΡ‚ΠΈΠ½Π°, 40, "муТской")

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


Ρ‚ΠΈΠΏ ()

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Python, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… "ΠΊΠΎΡ€Ρ‚Π΅ΠΆ":

<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>

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

Какой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°?

mytuple = ("яблоко", "банан", "вишня")
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ‚ΠΈΠΏ (mytuple))

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ tuple ()

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ конструктор tuple () для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

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

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° tuple () для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:

thistuple = tuple (("яблоко", "Π±Π°Π½Π°Π½", "вишня")) # ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (thistuple)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (массивы) Python

Π’ языкС программирования Python сущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

  • Бписок - это упорядочСнная ΠΈ измСняСмая коллСкция. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ участников.
  • ΠšΠΎΡ€Ρ‚Π΅ΠΆ - это заказанная ΠΈ нСизмСняСмая коллСкция.ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ участников.
  • Набор - это нСупорядочСнная ΠΈ нСиндСксированная коллСкция. НСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ участников.
  • Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ - это Π·Π°ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ сборник *
    ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΉ. НСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ участников.

* Начиная с вСрсии Python 3.7, словари упорядочСны ΠΏΠΎ .
Π’ Python 3.6 ΠΈ Ρ€Π°Π½Π΅Π΅ словари нСупорядочСнныС .

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ свойства этого Ρ‚ΠΈΠΏΠ°.Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ сохранСниС смысла ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности ΠΈΠ»ΠΈ бСзопасности.


Python Lists of Tuples - DZone Open Source

Π’ этом постС ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ создании Python Lists of Tuples ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Бписки Python

Бписки Π² Python - это просто массив. Π’ΠΎΡ‚ основной список ΠΌΠΎΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… классов WoW:

  awesomeList = ['ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π²ΠΎΠΈΠ½', 'Π΄Ρ€ΡƒΠΈΠ΄']  

Бписки ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скобок []

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ† нашСго списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ append () :

  Π’ [6]: awesomeList.append ("Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ")

Π’ [7]: awesomeList
Out [7]: ['ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π²ΠΎΠΈΠ½', 'Π΄Ρ€ΡƒΠΈΠ΄', 'Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ']  

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π² спискС ΠΈΠΌΠ΅ΡŽΡ‚ индСкс, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с 0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся смСщСниСм. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ элСмСнты Π² нашСм спискС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  Π’ [7]: awesomeList
Out [7]: ['ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π²ΠΎΠΈΠ½', 'Π΄Ρ€ΡƒΠΈΠ΄', 'Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ']

Π’ [8]: awesomeList [0]
Out [8]: 'ΠΏΠ°Π»Π°Π΄ΠΈΠ½'

Π’ [9]: awesomeList [3]
Out [9]: 'Π²ΠΎΠΈΠ½'  

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΠΆΠ΅ смСщСниС:

  Π’ [10]: awesomeList [3] = "monk"

Π’ [11]: awesomeList
Out [11]: ['ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'ΠΌΠΎΠ½Π°Ρ…', 'Π΄Ρ€ΡƒΠΈΠ΄', 'Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ']  

НаконСц, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ remove () :

  Π’ [12]: awesomeList.ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ('ΠΌΠΎΠ½Π°Ρ…')

Π’ [13]: awesomeList
Out [13]: ['ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π΄Ρ€ΡƒΠΈΠ΄', 'Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ']  

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько списков, Π½ΠΎ этого Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно для Ρ†Π΅Π»Π΅ΠΉ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΈΠ· справочной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python. Π’ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ:

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° списки, Π½ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ послС ΠΈΡ… создания Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ списка классов WoW Π²Ρ‹ΡˆΠ΅.

  Π’ [14]: awesomeTuple = ('ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π²ΠΎΠΈΠ½', 'Π΄Ρ€ΡƒΠΈΠ΄')

Π’ [15]: awesomeTuple
Out [15]: ('ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π²ΠΎΠΈΠ½', 'Π΄Ρ€ΡƒΠΈΠ΄')  

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Β«Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒΒ» значСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  Π’ [16]: belkas, gorkin, landril, maxilum, ferral = awesomeTuple

Π’ [17]: бСлкас
Out [17]: 'ΠΏΠ°Π»Π°Π΄ΠΈΠ½'

Π’ [18]: максилум
Out [18]: 'Π²ΠΎΠΈΠ½'
  

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· списка.

  Π’ [20]: ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (awesomeList)
Out [20]: ('ΠΏΠ°Π»Π°Π΄ΠΈΠ½', 'мошСнник', 'свящСнник', 'Π΄Ρ€ΡƒΠΈΠ΄', 'Ρ‡Π΅Ρ€Π½ΠΎΠΊΠ½ΠΈΠΆΠ½ΠΈΠΊ')  

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² справочной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ сути этого руководства.

Python Бписки ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ².

Допустим, ΠΌΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ состояния ΠΈ сообщСниС ΠΈΠ· Π²Π΅Π±-ΠΆΡƒΡ€Π½Π°Π»Π° Apache2.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списков ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Python. Π’ΠΎΡ‚ слишком ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  Π’ [21]: logs = [
    ...: ('HTTP_OK', 'ΠŸΠžΠ›Π£Π§Π˜Π’Π¬ /index.html'),
    ...: ('HTTP_NOT_FOUND', 'ΠŸΠžΠ›Π£Π§Π˜Π’Π¬ /index.htmll')
    ...:]  

Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ довольно интСрСсныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ подсчСт количСства ошибок.

  Π’ [29]: errorCount = 0
    ...: для Π²Ρ…ΠΎΠ΄Π° Π² ΠΆΡƒΡ€Π½Π°Π»Ρ‹:
    ...: статус, сообщСниС = ΠΆΡƒΡ€Π½Π°Π»
    ...: Ссли статус Π½Π΅ HTTP_OK:
    ...: errorCount + = 1
    ...:

Π’ [30]: errorCount
Π’Ρ‹Ρ… [30]: 1
  

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ вмСсто списков? ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСньшС мСста для ΠΎΠ΄Π½ΠΎΠ³ΠΎ.Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π°, Ссли Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π° большой, Ρ‚ΠΎ использованиС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти.

НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ эта ΡΡ‚Π°Ρ‚ΡŒΡ.

Новичок Π² Python: списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, словари, Π½Π°Π±ΠΎΡ€Ρ‹

  1. Бписок : ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния элСмСнтов. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ хранСния Π±ΡƒΠ΄Π΅Ρ‚ сохранСн ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Он измСняСмый, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ послС создания.
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

      list1 = ['ΠΎΠ΄ΠΈΠ½', 2,3.4, 'ΠΏΡ€ΠΈΠ²Π΅Ρ‚']
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (список1)
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (список1 [3])
    list1 [1] = 2 # Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (список1)
      

    ΠžΡ‚Π²Π΅Ρ‚ :

      'one', 2, 3.4, 'hello']
        ΠŸΡ€ΠΈΠ²Π΅Ρ‚
        [2, 2, 3.4, 'ΠΏΡ€ΠΈΠ²Π΅Ρ‚']
      
  2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ : ΠΊΠ°ΠΊ Π² спискС. ЕдинствСнная Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ порядка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ значСния ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> # Π½Π°Π±ΠΎΡ€ Ρ†Π΅Π»Ρ‹Ρ… чисСл
>>> s = {1, 2, 3}
>>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΈ)
{1, 2, 3}
>>> # Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ s
>>> print (Ρ‚ΠΈΠΏ (Ρ‹))
<класс 'Π½Π°Π±ΠΎΡ€'>
>>> x = set (['foo', 'bar', 'baz', 'foo', 'qux'])
>>> Ρ…
{'qux', 'foo', 'bar', 'baz'}
  
  1. Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ : Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ - это, ΠΏΠΎ сути, Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠ»ΡŽΡ‡Ρƒ, ΠΊΠ°ΠΊ настоящий ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> dictval = {"Nishant": 1, "Akash": 2, "Ravi": 3, "Hari": 4}
>>> ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (dictval)
{'ΠΠΈΡˆΠ°Π½Ρ‚': 1, 'Акаш': 2, 'Π Π°Π²ΠΈ': 3, 'Π₯Π°Ρ€ΠΈ': 4}
>>> print (dictval ["Акаш"])
2
  
  1. ΠšΠΎΡ€Ρ‚Π΅ΠΆ : ΠšΠΎΡ€Ρ‚Π΅ΠΆ - это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‡Π΅Π½ΡŒ похоТая Π½Π° список. ЗначСния, хранящиСся Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°, ΠΈ ΠΎΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами. Π’Π°ΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы: ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° послС Π΅Π³ΠΎ назначСния, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² спискС элСмСнты ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> # ΠΊΠΎΡ€Ρ‚Π΅ΠΆ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
>>> t = (1, 'Ρ€Π°Π΄ΠΆΡƒ', 28, 'abc')
>>> print (t)
>>> print (t [1])
(1, 'Ρ€Π°Π΄ΠΆΡƒ', 28, 'abc')
Ρ€Π°Π΄ΠΆΡƒ

>>> t = (1, 'raju', 28, 'abc')
>>> print (t)
>>> print (t [3])
>>> t [3] = 'def'
(1, 'Ρ€Π°Π΄ΠΆΡƒ', 28, 'abc')
abc
-------------------------------------------------- -------------------------
TypeError Traceback (послСдний Π²Ρ‹Π·ΠΎΠ² послСдним)
 Π²  ()
      2 ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° (Ρ‚)
      3 ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° (t [3])
----> 4 t [3] = 'def'
TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов
  

.

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

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