ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ΠšΡƒΡ€Ρ «Python. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ΠšΡƒΡ€Ρ «Python. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ (tuple) Π² Python – это Ρ‚Π΅ ΠΆΠ΅ списки Π·Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмыС структуры Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ списки ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· элСмСнтов Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², пСрСчислСнных Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅, Π° Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

>>> a = (10, 2.13, "square", 89, 'C')
>>> a
(10, 2.13, 'square', 89, 'C')

Из ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ элСмСнты ΠΈ Π±Ρ€Π°Ρ‚ΡŒ срСзы:

>>> a[3]
89
>>> a[1:3]
(2.13, 'square')

Однако ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ элСмСнты нСльзя:

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

Π’Π°ΠΊΠΆΠ΅ Ρƒ Ρ‚ΠΈΠΏΠ° tuple Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для добавлСния ΠΈ удалСния элСмСнтов.

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ€Π΅Π·ΠΎΠ½Π½Ρ‹ΠΉ вопрос. Π—Π°Ρ‡Π΅ΠΌ Π² язык программирования Π±Ρ‹Π» Π²Π²Π΅Π΄Π΅Π½ этот Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎ-сути ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой нСизмСняСмый список? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ список ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² список, Ссли это потрСбуСтся, ΠΊΠ°ΠΊ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π»Π΅Π³ΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных Π² Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ list() ΠΈ tuple():

>>> a = (10, 2.13, "square", 89, 'C')
>>> b = [1, 2, 3]
>>> c = list(a)
>>> d = tuple(b)
>>> c
[10, 2.13, 'square', 89, 'C']
>>> d
(1, 2, 3)

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

def addNum(seq, num):
    for i in range(len(seq)):
        seq[i] += num
    return seq
Β 
origin = [3, 6, 2, 6]
changed = addNum(origin, 3)
Β 
print(origin)
print(changed)

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ. Π₯отя Π½ΠΈΠΊΠ°ΠΊΠΈΡ… выбросов ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, ΠΎΠ½Π° содСрТит Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. На Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

[6, 9, 5, 9]
[6, 9, 5, 9]

Π’ΠΎ Π΅ΡΡ‚ΡŒ исходный список Π±Ρ‹Π» Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ seq содСрТал ссылку Π½Π΅ Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ список, Π° Π½Π° список-ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ return здСсь Π½Π΅Ρ‚ смыла. Если функция Π·Π°ΠΌΡ‹ΡΠ»ΠΈΠ²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ список, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

def addNum(seq, num):
    for i in range(len(seq)):
        seq[i] += num
Β 
origin = [3, 6, 2, 6]
addNum(origin, 3)
print(origin)

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

def addNum(seq, num):
    new_seq = []
    for i in seq:
        new_seq.append(i + num)
    return new_seq
Β 
origin = [3, 6, 2, 6]
changed = addNum(origin, 3)
Β 
print(origin)
print(changed)

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

[3, 6, 2, 6]
[6, 9, 5, 9]

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ список Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ мСняСтся. Π•Π³ΠΎ элСмСнты лишь ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ список-ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Π­Ρ‚ΠΎΡ‚ способ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° функция Π½Π΅ содСрТит ΠΊΠΎΠΌΠ°Π½Π΄ измСнСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π₯отя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ Π² самой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ сразу Π΄Π΅Π»Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нСизмСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° Π½Π΅ ΠΏΠΎ ссылкС, Ρ‚ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ копия структуры, Π° Π½Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π». Π”Π°ΠΆΠ΅ Ссли Ρ‚ΡƒΠ΄Π° пСрСдаСтся ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π», ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. МоТно лишь, ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ, создав Ρ‚Π΅ΠΌ самым Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ структуру, ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½Π΅ΠΉ всС, Ρ‡Ρ‚ΠΎ заблагорассудится.

def addNum(seq, num):
    seq = list(seq)
    for i in range(len(seq)):
        seq[i] += num
    return seq
Β 
origin = (3, 6, 2, 6)
changed = addNum(origin, 3)
Β 
print(origin)
print(changed)

Бписки Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ…

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ списки, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ списки Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ списки.

>>> nested = (1, "do", ["param", 10, 20])

Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ список ["param", 10, 20] Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ nested? Бписок измСняСм, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ – Π½Π΅Ρ‚. Если Π²Π°ΠΌ каТСтся, Ρ‡Ρ‚ΠΎ нСльзя, Ρ‚ΠΎ Π²Π°ΠΌ каТСтся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. На самом Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ:

>>> nested[2][1] = 15
>>> nested
(1, 'do', ['param', 15, 20])

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ВыраТСния Ρ‚ΠΈΠΏΠ° nested[2][1] ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обращСния ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ индСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ – индСкс элСмСнта Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС сам список Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 2, Π° элСмСнт списка 10 – индСкс 1 Π² спискС.

Бтранная ситуация. ΠšΠΎΡ€Ρ‚Π΅ΠΆ нСизмСняСм, Π½ΠΎ ΠΌΡ‹ всС-Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. На самом Π΄Π΅Π»Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ остаСтся нСизмСняСмым. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² Π½Π΅ΠΌ содСрТится Π½Π΅ сам список, Π° ссылка Π½Π° Π½Π΅Π³ΠΎ. Π•Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ нСльзя. Но ΠΌΠ΅Π½ΡΡ‚ΡŒ сам список ΠΌΠΎΠΆΠ½ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊ:

>>> l = ["param", 10, 20]
>>> t = (1, "do", l)
>>> t
(1, 'do', ['param', 10, 20])

ΠšΠΎΡ€Ρ‚Π΅ΠΆ содСрТит ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-ссылку. ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ссылку нСльзя. Но ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ содСрТит самого списка. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ:

>>> l.pop(0)
'param'
>>> t
(1, 'do', [10, 20])

Однако Ρ‚Π°ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ с нСизмСняСмыми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ:

>>> a = "Kat"
>>> t = (a, l)
>>> t
('Kat', [10, 20])
>>> a = "Bat"
>>> t
('Kat', [10, 20])

Они ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΊΠ°ΠΊ ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ – ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ копируСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

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

  1. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ измСнСния исходного списка, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ копию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° списка copy() ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ срСз ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° [:]. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ список ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ способом ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ отраТаСтся Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅.

  2. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π΄Π΅ΡΡΡ‚ΡŒΡŽ случайными Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΎΡ‚ 0 Π΄ΠΎ 5 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

    Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ числами ΠΎΡ‚ -5 Π΄ΠΎ 0. Для заполнСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ числами Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Π΄Π²Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° +, создав Ρ‚Π΅ΠΌ самым Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° count() ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π² Π½Π΅ΠΌ количСство Π½ΡƒΠ»Π΅ΠΉ. Π’Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π° экран Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ количСство Π½ΡƒΠ»Π΅ΠΉ Π² Π½Π΅ΠΌ.

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ 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 β€” тСория, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ тСст ΠΏΠΎ tuples()

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

ИндСкс начинаСтся с нуля, ΠΊΠ°ΠΊ ΠΈ Π² случаС списков, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс β€” с -1. Π­Ρ‚ΠΎΡ‚ индСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° послСдний элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ β€” распространСнная структура Π΄Π°Π½Π½Ρ‹Ρ… для хранСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π² Python.

  • .index() β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° индСкса элСмСнта.
  • .count() β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для подсчСта количСства элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.
  • sum() β€” складываСт всС элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
  • min() β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с наимСньшим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.
  • max() β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.
  • len() β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

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

  1. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок: ();
  2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми;
  3. Π’Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ особСнности синтаксиса, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ β€” ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ для строк, числа ΠΈ Π±ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π”Π°Π»ΡŒΡˆΠ΅ β€” ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ элСмСнты Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²:


>>> p_tup = ("Π›ΠΎΠ½Π΄ΠΎΠ½", "ПСкин", 44, True)
>>> print(p_tup)
('Π›ΠΎΠ½Π΄ΠΎΠ½', 'ПСкин', 44, True)

Доступ ΠΊ элСмСнтам: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ индСкса Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

НапримСр, для получСния элСмСнта Β«Π›ΠΎΠ½Π΄ΠΎΠ½Β» Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ индСкс: p_tup[0]

А для 44: p_tup[2]

ПослСдний элСмСнт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° β€” Π±ΡƒΠ»Π΅Π²ΠΎ True. Доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print.


>>> p_tup = ("Π›ΠΎΠ½Π΄ΠΎΠ½", "ПСкин", 44, True)
>>> print(p_tup[3])
True

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.


>>> p_tup = ("Π›ΠΎΠ½Π΄ΠΎΠ½", "ПСкин", 44, True)
>>> print(p_tup[0])
'Π›ΠΎΠ½Π΄ΠΎΠ½'

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹:

  1. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ индСксированиС: ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с элСмСнтами списка элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ индСксирования. Оно начинаСтся с -1. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° послСдний элСмСнт.
    Π’Π°ΠΊ, для получСния послСднСго элСмСнт p_tup Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ p_tup[-1]. p_tup[-2] Π²Π΅Ρ€Π½Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт с ΠΊΠΎΠ½Ρ†Π° ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.
  2. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΡ‚ списков β€” ΠΎΠ½ΠΈ нСизмСняСмыС. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌ нСльзя Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты.
    ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ эта структура ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° извСстно, Ρ‡Ρ‚ΠΎ элСмСнты Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

>>> p_tup = ("Π›ΠΎΠ½Π΄ΠΎΠ½", "ПСкин", 44, True)
>>> print(p_tup[-1])
True

Ѐункция .index()

.index() β€” ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для получСния индСкса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.


>>> p_tup = ("Π›ΠΎΠ½Π΄ΠΎΠ½", "ПСкин", 44, True)
>>> print(p_tup.index("Π›ΠΎΠ½Π΄ΠΎΠ½"))
0

Ѐункция .count()

ΠœΠ΅Ρ‚ΠΎΠ΄ .count() ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для опрСдСлСния количСства Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ считаСтся количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ числа 101 Π² спискС p_cup. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” 2.


>>> p_tup = (5, 101, 42, 3, 101)
>>> print(p_tup.count(101))
2

Ѐункция sum()

Ѐункция sum() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ сумму чисСл Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.


>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(sum(lucky_numbers))
210

Ѐункция min()

Ѐункция min() Π²Π΅Ρ€Π½Π΅Ρ‚ элСмСнт с самым малСньким Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.


>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(min(lucky_numbers))
5

Ѐункция max()

Ѐункция max() Π²Π΅Ρ€Π½Π΅Ρ‚ элСмСнт с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.


>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(max(lucky_numbers))
101

Π—Π°Π΄Π°Ρ‡ΠΈ ΠΊ ΡƒΡ€ΠΎΠΊΡƒ

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ этому ΡƒΡ€ΠΎΠΊΡƒ для закрСплСния Π·Π½Π°Π½ΠΈΠΉ.

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΎΡ‚ 0 Π΄ΠΎ 9 ΠΈ посчитайтС сумму.

# Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
numbers =
print(sum(numbers))
# Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:
# 45

2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ статистику частотности Π±ΡƒΠΊΠ² Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

# Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
long_word = (
    'Ρ‚', 'Ρ‚', 'Π°', 'ΠΈ', 'ΠΈ', 'Π°', 'ΠΈ', 
    'ΠΈ', 'ΠΈ', 'Ρ‚', 'Ρ‚', 'Π°', 'ΠΈ', 'ΠΈ',
    'ΠΈ', 'ΠΈ', 'ΠΈ', 'Ρ‚', 'ΠΈ'
)

print("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'Ρ‚':", )
print("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'a':", )
print("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'ΠΈ':", )
# Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:
# ΠšΠΎΠ»Π»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'Ρ‚': 5
# ΠšΠΎΠ»Π»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'Π°': 3
# ΠšΠΎΠ»Π»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 'ΠΈ': 11
  1. Π”ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ скрипт для расчСта срСднСй Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
    ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π΄Π½Π΅ΠΉ Π½Π° основС week_temp. Π’Π°ΠΊ наш скрипт смоТСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π° любой ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.
# Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
week_temp = (26, 29, 34, 32, 28, 26, 23)
sum_temp =
days =
mean_temp = sum_temp / days
print(int(mean_temp))
# Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:
# 28

Ѐайл со всСм заданиями: https://gitlab.com/PythonRu/python-dlya-nachinayushih/-/blob/master/lesson_7.py.

ВСст ΠΏΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌ

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ тСст ΠΊ этому ΡƒΡ€ΠΎΠΊΡƒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ. Π’ тСстС 5 вопросов, количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ.

Π’Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. Одно.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

Когда Ρ‚ΠΎΡ‡Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ? Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π²Π΅Ρ‚.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄:
sample = (10, 20, 30)
sample.append(60)
print(sample)

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

Какая функция создаст пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ?

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдний элСмСнт этого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:
lake = ("Python", 51, False, "22")

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

{{title}}

{{image}}

{{content}}

{{/global}}

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π·

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python (tuple): ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π”Π°, это Π½Π΅ просто, ΠΈ всС ТС…

Вас Π·ΠΎΠ²ΡƒΡ‚ get_contacts ΠΈ Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎ email-адрСсу: Π΅Π³ΠΎ адрСс, имя ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. Π’Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡ‡ΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π½ΠΎ Python Π²Π°ΠΌ это Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚. НСльзя Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΠΎΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ, самоС Π²Π°ΠΆΠ½ΠΎΠ΅: адрСс, имя, ΠΈΠ»ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Или ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ всС свои Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Как ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_contacts(email) доступны нСсколько способов ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру: ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ dict(), ΠΊΠΎΡ€Ρ‚Π΅ΠΆ tuple() ΠΈ Π΅Ρ‰Π΅ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ…. Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ послСдний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” tuple, ΠΈΠ»ΠΈ ΠΏΠΎ-русски ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ get_contacts('[email protected]'), ΠΎΠ½Π° нашла Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹:

full_name = 'Никифоров Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠΠ½Π°Ρ‚ΠΎΠ»ΡŒΠ΅Π²ΠΈΡ‡'
city = 'Москва'
phone_number = '929-876-54-32'

Ѐункция создаСт ΠΊΠΎΡ€Ρ‚Π΅ΠΆ β€” tuple() β€”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ всС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹:

contacts = (full_name, city, phone_number)

ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈ запятыС ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Python, Ρ‡Ρ‚ΠΎ ΠΈΠ· пСрСчислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… full_name, city ΠΈ phone_number Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…:

print(type(contacts))  
print(contacts)

ПослСдний Π²Ρ‹Π·ΠΎΠ² print() Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° экран Ρ‚Π°ΠΊΠΎΠ΅:

('Никифоров Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠΠ½Π°Ρ‚ΠΎΠ»ΡŒΠ΅Π²ΠΈΡ‡', 'Москва', '929-876-54-32')

Π’Π΅ΠΏΠ΅Ρ€ΡŒ функция get_contacts смоТСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ любоС количСство Π΄Π°Π½Π½Ρ‹Ρ…. ВсС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ β€” tuple.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ tuple

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с tuple Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ divmod. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния с остатком:

divmod(100, 3)  
divmod(2, 3) 

Ѐункция divmod Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· Π΄Π²ΡƒΡ… чисСл β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° цСлочислСнного дСлСния ΠΈ остаток ΠΎΡ‚ дСлСния.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

div_tuple = divmod(100, 3)
print(div_tuple)  

Π”ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… чисСл ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ индСксу:

div_tuple = divmod(100, 3)
print(div_tuple[0])  
print(div_tuple[1])  

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² ΠΊΠΎΠ΄Π΅ [0] ΠΈ [1] сильно ΠΎΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, поэтому ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ говорящиС названия:

div_tuple = divmod(100, 3)
int_division = div_tuple[0]
remainder = div_tuple[1]

print(int_division)  
print(remainder)  

Распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ часто приходится Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

int_division = div_tuple[0]
remainder = div_tuple[1]

Π­Ρ‚ΠΎ встрСчаСтся Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто, Ρ‡Ρ‚ΠΎ Π² Python Π²Π²Π΅Π»ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ запись:

(int_division, remainder) = divmod(100, 3)
print(int_division)  
print(remainder)  

Π—Π°ΠΏΠΈΡΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° созданиС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° — Ρ‚Π΅ ΠΆΠ΅ скобки ΠΈ запятыС, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону. НазываСтся β€œΡ€Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉβ€.

Если Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта, Ρ‚ΠΎ скобки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Python Π»ΡŽΠ±ΠΈΡ‚ чистый ΠΊΠΎΠ΄:

int_division, remainder = divmod(100, 3)
print(int_division)  
print(remainder)  

ПослСдняя Ρ„ΠΎΡ€ΠΌΠ° записи распаковки Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСна ΠΈ рСкомСндуСтся ΠΊ использованию.

Π‘ΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ создании ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π½ΠΎ этот ΠΏΡ€ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π±ΡƒΠ΄ΡŒΡ‚Π΅ с Π½ΠΈΠΌ остороТны:

contacts = full_name, city, phone_number

Π’ ΠΊΠΎΠ΄Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ часто встрСчаСтся Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ короткая запись:

return full_name, city, phone_number

Π’Ρ‹Π·ΠΎΠ² return сообщаСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Python, Ρ‡Ρ‚ΠΎ функция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. А всС пСрСчислСнноС справо ΠΎΡ‚ return Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ β€” tuple.

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя. Он нСизмСняСмый, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ созданный ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½ΠΈΠΊΠ°ΠΊ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π—Π°Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ:

old_tuple = (1, 2)
new_tuple = old_tuple + (3, 4)
print(new_tuple)  

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт, Ρ‚ΠΎ Π²Π΅Π»ΠΈΠΊ соблазн Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

old_tuple = (1, 2)
new_tuple = old_tuple + 3
TypeError: can only concatenate tuple (not "int") to tuple

Π­Ρ‚Π° ошибка Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ число, Π° Python ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ придётся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· вашСго элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½ΠΎ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом Π²Π½ΡƒΡ‚Ρ€ΠΈ:

old_tuple = (1, 2)
new_tuple = old_tuple + (3,)
print(new_tuple)  

Π§Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ (tuple) Π² Python | Кодкамп

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

x = (1, 2, 3)
x[0]  # 1
x[1]  # 2
x[2]  # 3
x[3]  # IndexError: tuple index out of range
 

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами начнСтся с послСднСго элСмСнта ΠΊΠ°ΠΊ -1:

x[-1] # 3
x[-2] # 2
x[-3] # 1
x[-4] # IndexError: tuple index out of range

 

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ряда элСмСнтов

print(x[:-1])   # (1, 2)
print(x[-1:])   # (3,)
print(x[1:3])   # (2, 3) 

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹

Одним ΠΈΠ· основных ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ list s ΠΈ tuple с Π² Python являСтся Ρ‚ΠΎ , Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠ΄ΠΈΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты , ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. НапримСр:

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

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ .append ΠΈ .extend ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ , ΠΊΠ°ΠΊ list Π΄Π΅Π»Π°Π΅Ρ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ += Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΎΠ½ измСняСт связываниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π½Π΅ сам ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> t = (1, 2)
>>> q = t
>>> t += (3, 4)
>>> t
(1, 2, 3, 4) #output
>>> q
(1, 2) #output

 

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ измСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ lists , Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ. НапримСр:

>>> t = (1, 2, 3, [1, 2, 3])
(1, 2, 3, [1, 2, 3]) #output
>>> t[3] += [4, 5]

 

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС списка Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅:

TypeError: 'tuple' object does not support item assignment
>>> t
(1, 2, 3, [1, 2, 3, 4, 5]) #output

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ += ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ» Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ — это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, создавая Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтом Π²Ρ‹ Β«Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΒ» ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ; старый ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π½ΠΎ Π·Π°ΠΌΠ΅Π½Π΅Π½!

Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ прСобразования Π² список ΠΈ ΠΈΠ· списка, Π½ΠΎ это ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ процСсс, ΠΈ это плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, особСнно Ссли Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·.

ΠšΠΎΡ€Ρ‚Π΅ΠΆ являСтся элСмСнтарным ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌΡ‹ΠΌ ΠΈ ΡƒΡ€Π°Π²Π½ΠΎΠ²Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ

hash( (1, 2) )  # ok
hash( ([], {"hello"})  # Π½Π΅ ΠΎΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки ΠΈ мноТСства Π½Π΅ Ρ…Π΅ΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ set ΠΈΠ»ΠΈ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° Π² dict Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π° , ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π΅Π³ΠΎ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚.

{ (1, 2) } #  ΠΎΠΊ
{ ([], {"hello"}) ) # Π½Π΅ ΠΎΠΊ

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

БинтаксичСски, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ — это список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

t = 'a', 'b', 'c', 'd', 'e'

 

Π₯отя это ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² скобки:

t = ('a', 'b', 'c', 'd', 'e')

 

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками:

t0 = ()
type(t0)            # <type 'tuple'>

 

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

t1 = 'a',
type(t1)              # <type 'tuple'>

 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² скобках Π½Π΅ являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ:

t2 = ('a')
type(t2)              # <type 'str'>

 

Для создания одноэлСмСнтного ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΡƒΡŽ Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

t2 = ('a',)
type(t2)              # <type 'tuple'>

 

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

t2 = ('a',)           # нотация ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° PEP8
t2 = 'a',             # ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ PEP8 Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚
t2 = ('a', )          # ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эта Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ PEP8 Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚

 

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ являСтся встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ tuple .

t = tuple('lupins')
print(t)              # ('l', 'u', 'p', 'i', 'n', 's')
t = tuple(range(3))
print(t)              # (0, 1, 2)

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ основаны Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Think Python АллСн B. Π”Π°ΡƒΠ½ΠΈ.

Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

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

a = 1, 2, 3   # a являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ (1, 2, 3)

 

Π° Ρ‚Π°ΠΊΠΆΠ΅

a = (1, 2, 3) # a являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ (1, 2, 3)

 

эквивалСнтны. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ a = 1, 2, 3 Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ значСния вмСстС Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Python, Ρ‡Ρ‚ΠΎ пСрСмСнная являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ, Π° Π½Π΅ СдинствСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ

a = 1  # a ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1
a = 1, # a это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (1,)

 

Запятая Π½ΡƒΠΆΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ скобки

a = (1,) # a это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (1,)
a = (1)  # a ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΈ Π½Π΅ являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ


 

Для распаковки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅

# unpacking AKA multiple assignment
x, y, z = (1, 2, 3) 
# x == 1
# y == 2
# z == 3

 

Π‘ΠΈΠΌΠ²ΠΎΠ» _ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² качСствС ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ , Ссли Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, дСйствуя Π² качСствС заполнитСля:

 a = 1, 2, 3, 4
_, x, y, _ = a
# x == 2
# y == 3

 

ΠžΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ:

x, = 1,  # x это ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1
x  = 1,  # x это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (1,)


 

Π’ Python 3 Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с * прСфикс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² качСствС Π²Π΄ΠΎΠ³ΠΎΠ½ΠΊΡƒ всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

first, *more, last = (1, 2, 3, 4, 5)
#first == 1
#more == [2, 3, 4]
#last == 5

РСвСрсивныС элСмСнты

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅

colors = "red", "green", "blue"
rev = colors[::-1]
# rev: ("blue", "green", "red")

colors = rev
# colors: ("blue", "green", "red")

Или с использованиСм ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ (ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Π΄Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, которая прСобразуСтся Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ):

rev = tuple(reversed(colors))
# rev: ("blue", "green", "red")

colors = rev
# colors: ("blue", "green", "red") 

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

сравнСниС

Если элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, python выполняСт сравнСниС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если элСмСнты Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠ½ провСряСт, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ числами.

  • Если числа, ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ сравнСниС.
  • Если ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов являСтся числом, Ρ‚ΠΎ возвращаСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ‚ΠΈΠΏΡ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ.

Если ΠΌΡ‹ достигли ΠΊΠΎΠ½Ρ†Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· списков, Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список Π±ΡƒΠ΄Π΅Ρ‚ «большС». Если ΠΎΠ±Π° списка ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, возвращаСтся 0.

tuple1 = ('a', 'b', 'c', 'd', 'e')
tuple2 = ('1','2','3')
tuple3 = ('a', 'b', 'c', 'd', 'e')

cmp(tuple1, tuple2) # 1

cmp(tuple2, tuple1) # -1

cmp(tuple1, tuple3) # 0

 

Π”Π»ΠΈΠ½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Ѐункция len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

len(tuple1) # 5

 

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

Ѐункция max Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ

max(tuple1) #'e'

max(tuple2) # '3'
 

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

Ѐункция min Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ min

min(tuple1) # 'a'

min(tuple2) # '1'

 

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

ВстроСнная функция tuple ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

list = [1,2,3,4,5]
tuple(list)

>>>Out: (1, 2, 3, 4, 5)
 

ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ + для ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ Π΄Π²ΡƒΡ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

tuple1 + tuple2

>>>Out: ('a', 'b', 'c', 'd', 'e', '1', '2', '3')

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Python. Π§Π°ΡΡ‚ΡŒ 7. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ мноТСства

Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ списки Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (Ссли Π΅Ρ‰Π΅ Π½Π΅Ρ‚ β€” Π²ΠΎΡ‚ ΡƒΡ€ΠΎΠΊ ΠΏΠΎ спискам). Помимо списков Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ‚Π°ΠΊΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ мноТСства.

Π’ΠΈΠ΄Π΅ΠΎ: Π“Π»Π΅Π± Лиманский

Π’ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡ€ΠΈ создании словаря ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° функция dict(). ΠŸΡ€ΠΈΠ½ΠΎΡΠΈΠΌ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ!

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ (Tuples)Β 

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° список, Π½ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅: список β€” измСняСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅Ρ‚. Π’ этом Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΈ кроСтся ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ: ΠΎΠ½ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Вторая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, это экономия мСста. Они Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСньшС объСма Π² памяти, Ρ‡Π΅ΠΌ списки.

Вспомним, ΠΊΠ°ΠΊ Π² ΡƒΡ€ΠΎΠΊΠ΅ ΠΏΠΎ спискам Π²Ρ‹ удаляли ΠΎΠ΄ΠΈΠ½ элСмСнт:

CΠΎΠ·Π΄Π°Π΅ΠΌ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ содСрТаниСм ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Π”Π΅Π»Π°Π΅ΠΌ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, Π° Π½Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π² спискС (для создания пустого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ‚ΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки). ΠŸΡ‹Ρ‚Π°Π΅ΠΌΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠΊΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π§Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ, Ссли ΠΎΠ½ΠΈ Π½Π΅ измСняСмы?

МоТно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎ индСксу, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² списках. Π”Π΅Π»Π°Ρ‚ΡŒ срСзы. Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

И ΠΌΠΎΠΆΠ΅ΠΌ Π΅Ρ‰Π΅ просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ:

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная функция ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ: ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ΠΈ словаря. Π’Π΅Π΄ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ словаря Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ нСизмСняСмыми. Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅. БСгодня ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ быстро ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΌ Π°Π²Ρ‚ΠΎΠΏΠ°Ρ€ΠΊΠΎΠΌ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€Π° ΠŸΡƒΡ‚ΠΈΠ½Π°: это Π΅Π³ΠΎ Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈΠ· Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΅Ρ‰Π΅ Ρ‚Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ Π΅Π·Π΄ΠΈΡ‚.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ список с автомобилями. И «сшиваСм» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΌΠΎΠ»Π½ΠΈΠΈ β€” zip() β€” ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ список Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ (ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈ Π΄Π²Π° списка):

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Π³ΠΎΡ‚ΠΎΠ²! Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-молнию, ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ полСзная.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° (Sets)

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

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ пустоС мноТСство ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set(). А Ссли с элСмСнтами, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡ… пСрСчислСния Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках, ΠΊΠ°ΠΊ Ρƒ словаря:

ВсС элСмСнты мноТСства всСгда ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ свойство мноТСств пригоТдаСтся, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ваш список ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈ:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ мноТСство с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами. Π’Π΅Ρ€Π½Π΅ΠΌ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list():

Π‘ мноТСствами ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (избитая Ρ„Ρ€Π°Π·Π°, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ самая точная).

ΠžΡ‚ самых простых Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈ удалСния:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия элСмСнта Π² мноТСствС:

Π”ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТных. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ пСрСсСчСния мноТСств: Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты входят Π² ΠΎΠ±Π° мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ intersection():

МоТСм ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° мноТСства ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ останутся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, использовав union():

А с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ difference() ΡƒΠ·Π½Π°Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†y мноТСств: set1. difference(set2) даст Π½Π°ΠΌ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мноТСства ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ мноТСствС.

Если ΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСствами: Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ Π½ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, Π° Π½Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ symmetric_difference():

ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, доступныС для мноТСств, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΒ Π·Π΄Π΅ΡΡŒ.

Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ Π½Π° мноТСствС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ измСняСтся, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Π­Ρ‚ΠΎ frozenset. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ своС мноТСство Π²ΠΎ frozenset. И всС: ΠΈΠ· Π½Π΅Π³ΠΎ ΡƒΠΆΠ΅ нСльзя Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

Π’Π΅Ρ‚Ρ€Π°Π΄ΠΊΠ° Jupyter Notebook с этого ΡƒΡ€ΠΎΠΊΠ° доступна Π½Π° нашСм GitHub.

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° списки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ языка Python, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списков ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. Π›ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ достаточно ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ элСмСнты Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ():

>>> t = (1, 2, 3, 4)
>>> t
(1, 2, 3, 4)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ пустых ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок:

>>> t = ()
>>> t
()
>>>
>>> type(t)
<class 'tuple'>

Но Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом, послС Π½Π΅Π³ΠΎ придСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

>>> t = (1,)
>>> t
(1,)

ПослСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ вовсС Π½Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Ρ‚. ΠΊ.:

>>> (1 + 1)
2

А запятыС:

>>> 1 + 1,
(2,)
>>>
>>> (1 + 1,)
(2,)

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΎΡ‡Π΅Π½ΡŒ часто скобки Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ:

>>> t = 1, 2, 3, 4
>>> t
(1, 2, 3, 4)

Однако, Π² зависимости ΠΎΡ‚ контСкста, ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΆΠ΅ приходится, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запись Π²ΠΈΠ΄Π° func(x, y) Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π° запись func((x, y)) Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ tuple(). Если Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΎ ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> t = tuple()
>>> t
()

Если ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ tuple() ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΎΠ½Π° попытаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> tuple('abcd')
('a', 'b', 'c', 'd')
>>>
>>> tuple(range(5))
(0, 1, 2, 3, 4)
>>>
>>> tuple(dict(a=1, b=2, c=3))
('a', 'b', 'c')

Ну Π° Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ tuple() ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° Π΅Π³ΠΎ повСрхностная копия.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΡΠ²Π»ΡΡŽΡ‚ΡΡ «Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ»

>>> (i**2 for i in range(10))
<generator object <genexpr> at 0x013DC680>

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ извлСчСния срСза [START:STOP:STEP] (ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ списки), Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ in ΠΈ not in, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ измСрСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π΄Π»ΠΈΠ½Ρ‹) len(), Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ· итСрирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкции for... in....


ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π² ΠΎΡ‚Π»ΠΈΠ΅ ΠΎΡ‚ списков ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми:

>>> l = [0, 1, 2]
>>> l[0] = 111
>>> l
[111, 1, 2]
>>>
>>>
>>> t = (1, 2, 3)
>>> t[0] = 111
TypeError: 'tuple' object does not support item assignment

Но Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ строки, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ «ΡΡ‹Ρ€ΡŒΠ΅ΠΌ» для Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

>>> t
(1, 2, 3)
>>>
>>> t = (111,) + t[1:]
>>> t
(111, 2, 3)
>>>
>>>
>>> t = t[0:1] + (222,) + t[2:]
>>> t
(111, 222, 3)

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‡Ρ‚ΠΎ Π±Ρ‹ быстро ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ сначала ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² список, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ снова ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> t = list(t)
>>> t[2] = 333
>>> t = tuple(t)
>>> t
(111, 222, 333)

Однако, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ являСтся нСизмСняСмым Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° сам состоит ΠΈΠ· нСизмСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

>>> t = (1, 2, [3, 4])
>>> 
>>> t[2][1] = 4444
>>>
>>> t
(1, 2, [3, 4444])

ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ словарСй ΠΈ элСмСнтами мноТСств.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ всСго Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: .count(x) ΠΈ .index(x).


Распаковка ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ (ΠΈ списки) ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°Π²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² опСрациях присваивания:

>>> a, b, c = 1, 2, 3
>>> a, b, c
(1, 2, 3)

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ для ΠΎΠ±ΠΌΠ΅Π½Π° значСниями ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ:

>>> a, b, c = c, b, a
>>> a, b, c
(3, 2, 1)

Если слСва ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° = элСмСнтов мСньшС Ρ‡Π΅ΠΌ справа, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ * для указания элСмСнту ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСно Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния:

>>> *a, b, c = (1, 2, 3, 4)
>>> a, b, c
([1, 2], 3, 4)
>>>
>>> a, *b, c = (1, 2, 3, 4)
>>> a, b, c
(1, [2, 3], 4)
>>>
>>> a, b, *c = (1, 2, 3, 4)
>>> a, b, c
(1, 2, [3, 4])

ИспользованиС ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… * ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΆΠ΅ позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ слСва ΠΎΡ‚ = большС элСмСнтов Ρ‡Π΅ΠΌ справа:

>>> *a, b, c, d, e = (1, 2, 3, 4)
>>> a, b, c, d
([], 1, 2, 3)
>>>
>>> a, b, *c, d, e = (1, 2, 3, 4)
>>> a, b, c, d
(1, 2, [], 3)

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΡƒΠΏΠ²ΠΊΠΎΠ²ΠΊΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, позволяСт ΡΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ΡŒ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

>>> a, b, c, x, y, z = 1, 2, 3, 4, 5, 6
>>>
>>> t1 = a, x
>>>
>>> t2 = x, c, z, b
>>>
>>> t1
(1, 4)
>>>
>>> t2
(4, 3, 6, 2)

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ распаковки ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² конструкциях for... in...:

>>> for x, y in ((1, 2), (1, 3), (1, 4)):
...     print(x, '+', y, '=', x + y)
...
1 + 2 = 3
1 + 3 = 4
1 + 4 = 5

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ:

>>> for x, y in zip('abcd', range(1, 5)):
...     print(x*y)
...
a
bb
ccc
dddd

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

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

>>> t = (('mod_1', 8.71, (-1.32, 23.87)), ('mod_2', 5.12, (-0.41, 19.86)))
>>> t
(('mod_1', 8.71, (-1.32, 23.87)), ('mod_2', 5.12, (-0.41, 19.86)))

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ с этим ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ цСлочислСнными индСксами:

>>> t[0][2][1]
23.87

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ индСксам ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ осмыслСнныС обозначСния:

>>> model_1, model_2 = 0, 1
>>> name, mean, min_max = 0, 1, 2
>>> minimum, maximum = 0, 1

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам t ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅:

>>> t[model_1][min_max][maximum]
23.87

Но самый простой способ это использованиС встроСнного модуля collections ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Благодаря Π΅ΠΌΡƒ «ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ структуру ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅:

>>> import collections
>>>
>>> models = collections.namedtuple('models', 'model_1 model_2')
>>> params = collections.namedtuple('params', 'name mean min_max')
>>> limit = collections.namedtuple('limit', 'minimum maximum')

ΠŸΠΎΡ‚ΠΎΠΌ, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ «ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сам ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> Models = models(params('mod_1', 8.71, limit(-1.32, 23.87)),
...                 params('mod_2', 5.12, limit(-0.41, 19.86)))

А Π²ΠΎΡ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ элСмСнты ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ:

>>> Models.model_1.min_max.maximum
23.87

Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ такая слоТная ΡˆΡ‚ΡƒΠΊΠ°? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π°, Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написали ΡƒΡ‚Ρ€ΠΎΠΌ. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, строки докумСнтирования, ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΈΠΌ для понимания. Π”Π°, ΠΏΠΎΡΡ‚ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅, придСтся Ρ‡ΡƒΡ‚ΡŒ дольшС, Π½ΠΎ это Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΠΎΠ±ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ всС сначала, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ спустя нСдСлю смысл ΠΊΠΎΠ΄Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ забылся.

ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π² Python — GeeksforGeeks

ΠšΠΎΡ€Ρ‚Π΅ΠΆ — это Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Python, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° список с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния индСксации, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ повторСния, Π½ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ измСняСмых списков.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

empty_tuple = ()

print (empty_tuple)

Π’Ρ‹Ρ…ΠΎΠ΄:

900

tup = 'python' , 'geeks'

print (tup)

tup = ( ) python ' , ' geeks ' )

print (tup)

Π’Ρ‹Π²ΠΎΠ΄

 (' python ',' geeks ')
('python', 'geeks') 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π²Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°ΠΏΡΡ‚ΡƒΡŽ послС элСмСнта.


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

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = ( 0 , 1 , , 2 , 2 )

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2 = ( 'python' , 'ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ' )

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 + ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2)

Π’Ρ‹Ρ…ΠΎΠ΄:

(0, 1, 2, 3, 'python', 'geek') 

Π’Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = ( 0 , 1 , 2 , 3 )

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2 = ( 'python' , 'geek' )

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3 = (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3)

Π’Ρ‹Π²ΠΎΠ΄:

 ((0, 1, 2, 3), ('python', 'geek') )) 

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ…



ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3 = ( 'python' ,) 14 * print (tuple3)

Π’Ρ‹Π²ΠΎΠ΄

 ('python', 'python', 'python') 

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π±Π΅Π· запятой ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅.Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ tuple3 ΠΊΠ°ΠΊ строку Β«pythonpythonpythonΒ».

НСизмСняСмыС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = ( 0 , 1 , 3 )

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [ 0 ] = 4

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1)

Π’Ρ‹Ρ…ΠΎΠ΄

 ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "e0eaddff843a8695575daec34506f126.py ", строка 3, Π²
    tuple1 [0] = 4
TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов 

НарСзка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = ( 0 , , 1 2 , 3 )

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [ 1 :])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [:: - 1 ])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [ 2 : 4 ])

Π’Ρ‹Π²ΠΎΠ΄

 (1, 2, 3)
(3, 2, 1, 0)
(2, 3) 

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3 = ( 0 , 1 ) 9000 del3

0

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

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3)

Ошибка:

 ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "d92694727db1dc9118a5250bf04dafbd.py ", строка 6, Π² 
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ3)
NameError: имя 'tuple3' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 

Π’Ρ‹Π²ΠΎΠ΄:

 (0, 1) 

Π”Π»ΠΈΠ½Π° поиска ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

tuple2 14 = ( 'python' , 'geek' )

print ( len (tuple2))

Π’Ρ‹Ρ…ΠΎΠ΄

 2 

Бписок прСобразования Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

list1 = [ 0 , 1 , 2 ]

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (список1))

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ( 'python' ))

9 0026

Π’Ρ‹Ρ…ΠΎΠ΄

 (0, 1, 2)
('p', 'y', 't', 'h', 'o', 'n') 

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ СдинствСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ списком, строкой, Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ словарСм (Π² качСствС elements) ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅

tup = ( 'geek' ,)

n =

n =

для i в диапазонС ( int (n)):

tup = (tup,)

print (tup)

Π’Ρ‹Ρ…ΠΎΠ΄:

 (('geek',),)
((('ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ',),),)
(((('ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ',),),),)
((((('ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ',),),),),)
(((((('ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ',),),),),),)
 

ИспользованиС cmp (), max (), min ()

tuple1 = ( 'python' , 'geek' )

tuple2 = ( 'coder' , 1 )

if ( cmp (tuple1, tuple2)! = 0 ):

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( 'НС Ρ‚ΠΎ ΠΆΠ΅ самоС' )

ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ :

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( 'Π’ΠΎ ΠΆΠ΅' )

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( 'ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² Ρ‚ΡƒΠΏΠ΅ les 1,2: ' +

str ( max (tuple1)) + ', ' +

str ( max (tuple2)))

print ( 'ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… 1,2:' +

str ( min (tuple1) ) + ',' + str ( ΠΌΠΈΠ½ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2)))

Π’Ρ‹Ρ…ΠΎΠ΄

 НС Ρ‚ΠΎ ΠΆΠ΅ самоС
ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… 1,2: python, coder
ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… 1,2: geek, 1
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: max () ΠΈ min () ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ASCII.Если Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π΄Π²Π΅ строки, Ρ‚ΠΎ провСряСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ Π² строках.

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ Π¨Ρ€ΠΈ Π‘Π°Π½ΠΊΠ΅Ρ‚ Π£ΠΏΠΏΠ°Π»Π°ΠΏΠ°Ρ‚ΠΈ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ссли Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅, обсуТдСнной Π²Ρ‹ΡˆΠ΅.

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

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆ Python с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ

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

1. ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΡ€ΠΎΡ‚ΠΈΠ² списка

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

2. Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² Python

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² Python, помСститС всС элСмСнты Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки (), Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми.ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ строку ΠΈ список Π² качСствС элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ….

2.1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — созданиС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм нСсколько ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π£ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… смСшанного Ρ‚ΠΈΠΏΠ°. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΊΠ°ΠΊ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅).

 # ΠΊΠΎΡ€Ρ‚Π΅ΠΆ строк
my_data = (Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΠΎΠΊΠ°Β»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· int, float, string
my_data2 = (1, 2.8, Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€Β»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data2)

# ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· строки ΠΈ списка
my_data3 = ("Книга", [1, 2, 3])
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data3)

# ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
# Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
my_data4 = ((2, 3, 4), (1, 2, "ΠΏΡ€ΠΈΠ²Π΅Ρ‚"))
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data4) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 (Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΠΎΠΊΠ°Β»)
(1, 2.8, Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€Β»)
('Книга', [1, 2, 3])
((2, 3, 4), (1, 2, 'ΠΏΡ€ΠΈΠ²Π΅Ρ‚')) 

2.2 ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

 # пустой ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
my_data = () 

2.3 ΠšΠΎΡ€Ρ‚Π΅ΠΆ с СдинствСнным элСмСнтом:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Когда ΠΊΠΎΡ€Ρ‚Π΅ΠΆ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ послС элСмСнта, ΠΈΠ½Π°Ρ‡Π΅ Python Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 # ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом Π΄Π°Π½Π½Ρ‹Ρ…
my_data = (99,) 

Если ΠΌΡ‹ Π½Π΅ поставим Π·Π°ΠΏΡΡ‚ΡƒΡŽ послС 99 Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎΠ³Π΄Π° python Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ my_data ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° int, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

3. Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ индСксы для доступа ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Π”Π°Π²Π°ΠΉΡ‚Π΅ возьмСм нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

3.1 Доступ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с использованиСм ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… индСксов

Π£ нас Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΌΡ‹ обсудили это Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0, поэтому ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 0 для доступа ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, 1 для доступа ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ элСмСнту ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

 # ΠΊΠΎΡ€Ρ‚Π΅ΠΆ строк
my_data = (Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΠΎΠΊΠ°Β»)

# ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСх элСмСнтов
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# доступ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту
# ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ "ΠΏΡ€ΠΈΠ²Π΅Ρ‚"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [0])

# доступ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ элСмСнту
# Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ "ΠΏΠΎΠΊΠ°"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [2]) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 (Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΡ€ΠΈΠ²Π΅Ρ‚Β», Β«ΠΏΠΎΠΊΠ°Β»)
ΠŸΡ€ΠΈΠ²Π΅Ρ‚
до свидания 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
1. TypeError : Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ цСлочислСнныС индСксы Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅. НапримСр, my_data [2.0] Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ. ИндСкс всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом.
2. IndexError : ИндСкс Π²Π½Π΅ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ индСкс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. НапримСр, Ссли ΠΊΠΎΡ€Ρ‚Π΅ΠΆ состоит ΠΈΠ· 5 элСмСнтов, ΠΈ ΠΌΡ‹ пытаСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ 7-ΠΌΡƒ элСмСнту, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ эта ошибка.

3.2 ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ…

Подобно списку ΠΈ строкам, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы для доступа ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΊΠΎΠ½Ρ†Π°.
-1 для доступа ΠΊ послСднСму элСмСнту, -2 для доступа ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ послСднСму ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

 my_data = (1, 2, «КСвин», 8.9)

# доступ ΠΊ послСднСму элСмСнту
# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² 8,9
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [-1])

# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² 2
print (my_data [-3]) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 8,9
2 

3.3 Доступ ΠΊ элСмСнтам ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

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

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊΠΎΠ³Π΄Π° я использовал my_data [2] [1], ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» доступ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ элСмСнту Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 2 прСдставляСт Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт основного ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ, Π° 1 прСдставляСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт этого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

 my_data = (1, Β«Π‘Ρ‚ΠΈΠ²Β», (11, 22, 33))

# Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 'v'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [1] [3])

# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² 22
print (my_data [2] [1]) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 v
22 

4. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ Π² Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python.

4.1 ИзмСнСниС элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

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

 my_data = (1, [9, 8, 7], Β«ΠœΠΈΡ€Β»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнта списка
# это Π²Π΅Ρ€Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ список измСняСмый
my_data [1] [2] = 99
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
# Π­Ρ‚ΠΎ нСдопустимо, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° нСизмСняСмы
# TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов
# my_data [0] = 101
# print (my_data) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 (1, [9, 8, 7], "ΠΌΠΈΡ€")
(1, [9, 8, 99], Β«ΠœΠΈΡ€Β») 

4.2 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ удалСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠœΡ‹ ΡƒΠΆΠ΅ обсуТдали Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° нСизмСняСмы, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Однако Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСго ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

 my_data = (1, 2, 3, 4, 5, 6)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
# ошибка
# del my_data [2]

# Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСго ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
дСль my_data

# Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
# ошибка
# ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ my_data ΡƒΠ΄Π°Π»Π΅Π½Π°
# print (my_data) 

Π’Ρ‹Ρ…ΠΎΠ΄:

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

4.3 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π½Π°Ρ€Π΅Π·ΠΊΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

 my_data = (11, 22, 33, 44, 55, 66, 77, 88, 99)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# элСмСнты с 3-Π³ΠΎ ΠΏΠΎ 5-ΠΉ
# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ (33, 44, 55)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [2: 5])

# элСмСнтов ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ 4-Π³ΠΎ
# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ (11, 22, 33, 44)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [: 4])

# элСмСнт с 5-Π³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΎΠ² (55, 66, 77, 88, 99)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [4:])

# элСмСнты с 5-Π³ΠΎ ΠΏΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ послСдний
# ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ (55, 66, 77, 88)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data [4: -1])

# ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСго ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
print (my_data [:]) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 (11, 22, 33, 44, 55, 66, 77, 88, 99)
(33, 44, 55)
(11, 22, 33, 44)
(55, 66, 77, 88, 99)
(55, 66, 77, 88)
(11, 22, 33, 44, 55, 66, 77, 88, 99) 

4.4 ВСст Π½Π° члСнство Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ…

ΠΈΠ· : провСряСт, сущСствуСт Π»ΠΈ элСмСнт Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.
Π½Π΅ Π² : провСряСт, Π½Π΅ сущСствуСт Π»ΠΈ элСмСнт Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

 my_data = (11, 22, 33, 44, 55, 66, 77, 88, 99)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_data)

# ΠΏΡ€Π°Π²Π΄Π°
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (22 Π² my_data)

# Π»ΠΎΠΆΠ½Ρ‹ΠΉ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (2 Π² my_data)

# Π»ΠΎΠΆΠ½Ρ‹ΠΉ
print (88 Π½Π΅Ρ‚ Π² my_data)

# ΠΏΡ€Π°Π²Π΄Π°
print (101 Π½Π΅ Π² my_data) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 (11, 22, 33, 44, 55, 66, 77, 88, 99)
ΠŸΡ€Π°Π²Π΄Π°
Π›ΠΎΠΆΡŒ
Π›ΠΎΠΆΡŒ
ΠŸΡ€Π°Π²Π΄Π° 

4.5 Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

 # ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ²
my_tuple = (Β«Π―Π±Π»ΠΎΠΊΠΎΒ», «АпСльсин», Β«Π’ΠΈΠ½ΠΎΠ³Ρ€Π°Π΄Β», Β«Π‘Π°Π½Π°Π½Β»)

# ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
для Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² Π² my_tuple:
     ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹) 

Π’Ρ‹Ρ…ΠΎΠ΄:

 Π―Π±Π»ΠΎΠΊΠΎ
апСльсин
Π’ΠΈΠ½ΠΎΠ³Ρ€Π°Π΄
Π‘Π°Π½Π°Π½ 

Бписки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python — Real Python

Бписок ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ВсС элСмСнты списка ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°:

>>>
  >>> a = [2, 4, 6, 8]
>>> Π°
[2, 4, 6, 8]
  
>>>
  >>> a = [21.42, 'foobar', 3, 4, 'bark', Π›ΠΎΠΆΡŒ, 3.14159]
>>> Π°
[21.42, 'foobar', 3, 4, 'bark', Π›ΠΎΠΆΡŒ, 3.14159]
  

Бписки ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… руководствах:

>>>
  >>> int
<класс 'int'>
>>> len
<встроСнная функция len>
>>> def foo ():
...     ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
...
>>> Ρ„Ρƒ
<функция foo Π² 0x035B9030>
>>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ
>>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°
<ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 'math' (встроСнный)>

>>> a = [int, len, foo, math]
>>> Π°
[<класс 'int'>, <встроСнная функция len>, <функция foo Π² 0x02CA2618>,
<ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 'math' (встроСнный)>]
  

Бписок ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΡ‚ нуля Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ количСства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΏΠ°ΠΌΡΡ‚ΡŒ вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°:

>>>
  >>> a = []
>>> Π°
[]

>>> Π° = ['Ρ„Ρƒ']
>>> Π°
['Ρ„Ρƒ']

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
... 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
... 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
... 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
... 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
>>> Π°
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100]
  

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² спискС нСсколько Ρ€Π°Π·:

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

РСзюмС : Π² этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… Python ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python

Иногда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠšΠΎΡ€Ρ‚Π΅ΠΆ — это список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Python относится ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ нСизмСняСмому . Π˜Ρ‚Π°ΠΊ, ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ являСтся нСизмСняСмым списком.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° список, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки () вмСсто ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок [] .

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ опрСдСляСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΈΠΌΠ΅Π½Π΅ΠΌ rgb :

 

rgb = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий')

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

ПослС опрСдСлСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π΅Π³ΠΎ индСксу. НапримСр:

 

rgb = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий') ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (rgb [0]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (RGB [1]) print (rgb [2])

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Outptut:

 

красный Π·Π΅Π»Π΅Π½Ρ‹ΠΉ синий

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ нСизмСняСм, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ элСмСнты.Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдпринимаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° rgb Π½Π° 'yellow' :

 

rgb = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий') rgb [0] = 'yellow'

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

И это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС:

 

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

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² ΠΊΠΎΠ½Ρ†Π΅ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта.НапримСр:

 

чисСл = (3,) print (Ρ‚ΠΈΠΏ (числа))

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Если ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ запятая, Ρ‚ΠΈΠΏ чисСл Π±ΡƒΠ΄Π΅Ρ‚ int , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число. Π•Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 3. Python Π½Π΅ создаст ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий число 3:

 

чисСл = (3) print (type (числа))

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

НазначСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ссылаСтся Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.НапримСр:

 

Ρ†Π²Π΅Ρ‚ΠΎΠ² = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий') ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ†Π²Π΅Ρ‚Π°) colors = ('Π“ΠΎΠ»ΡƒΠ±ΠΎΠΉ', 'ΠŸΡƒΡ€ΠΏΡƒΡ€Π½Ρ‹ΠΉ', 'Π–Π΅Π»Ρ‚Ρ‹ΠΉ', 'Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ') print (colors)

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

РСзюмС

  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ — это нСизмСняСмыС списки.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Π’Ρ‹ нашли это руководство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ?

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python — это Ρ‚ΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ списки, с Ρ‚ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСизмСняСмыми (Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты).Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списки, Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Однако, Ссли Π²Ρ‹ чувствуСтС, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² знаниях Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ всС ΠΎ Python Π² нашСм супСр-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌ руководствС ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Python.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ этому руководству. ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ сдСлали Π²ΠΈΠ΄Π΅ΠΎ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π΅Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python — Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ Π½ΠΈΠΆΠ΅ ΠΈΠ»ΠΈ просто ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·, Ссли ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python?

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.Бинтаксис, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π° Π½Π΅ список, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Π° Π½Π΅ Π² скобки.

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

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

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°?

Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ для списков, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния, указывая ΠΈΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² скобках. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° x , написав x [0].

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² списках.И Π·Π°Ρ‚Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ становится ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом Π² спискС, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° рисункС Π½ΠΈΠΆΠ΅.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ списками ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python?

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° списки, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ различия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ , Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ запятыми значСниями . НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ age ΠΈ years_of_school Π² качСствС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈ Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ числа Π² строковом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятой.

ΠœΠ΅Ρ‚ΠΎΠ΄ .split ()

ΠœΠ΅Ρ‚ΠΎΠ΄ .split () с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π² скобках Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ 30 ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для age ΠΈ 17 ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для years_of_school .

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

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ Π² Python

НаконСц, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² качСствС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ функция, которая Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π³Π΄Π΅ A — это ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ, Π° P — ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€:

  def square_info (x):  

Когда ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π»ΠΈΠ½Ρƒ стороны ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ square_info () Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Он сообщит Π½Π°ΠΌ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°.

Когда Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python?

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python.Π Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° функция Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния. Если Π²Ρ‹ нашли эту ΡΡ‚Π°Ρ‚ΡŒΡŽ интСрСсной, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ нСизвСстной ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ хранСния Π½Π°Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ словарС.

***

Если Π²Ρ‹ с энтузиазмом ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ своих Π·Π½Π°Π½ΠΈΠΉ Python, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашими супСр практичСскими руководствами !

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Python — javatpoint

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми (,), Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² малСнькиС скобки (). Π‘ΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, Π½ΠΎ ΠΈΡ… рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

T1 = (101, Β«ΠŸΠΈΡ‚Π΅Ρ€Β», 22) T2 = (Β«Π―Π±Π»ΠΎΠΊΠΎΒ», Β«Π‘Π°Π½Π°Π½Β», «АпСльсин») Π’3 = 10,20,30,40,50 ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (T1)) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (T2)) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ‚ΠΈΠΏ (Π’3))

Π’Ρ‹Ρ…ΠΎΠ΄:

<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
 
ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠšΠΎΡ€Ρ‚Π΅ΠΆ, созданный Π±Π΅Π· скобок, Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

T4 = ()

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся. Нам Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ послС элСмСнта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

tup1 = («JavaTpoint») ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (tup1)) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΎΠ΄Π½ΠΈΠΌ элСмСнтом tup2 = («JavaTpoint»,) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (tup2))

Π’Ρ‹Ρ…ΠΎΠ΄:

<класс 'str'>
<класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
 

ΠšΠΎΡ€Ρ‚Π΅ΠΆ индСксируСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ списки.Доступ ΠΊ элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — 1

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = (10, 20, 30, 40, 50, 60) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1) count = 0 для i Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅1: print («tuple1 [% d] =% d»% (count, i)) count = count + 1

Π’Ρ‹Ρ…ΠΎΠ΄:

(10, 20, 30, 40, 50, 60)
tuple1 [0] = 10
tuple1 [1] = 20
tuple1 [2] = 30
tuple1 [3] = 40
tuple1 [4] = 50
tuple1 [5] = 60
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ — 2

tuple1 = tuple (input («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°… «)) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1) count = 0 для i Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅1: print («tuple1 [% d] =% s»% (count, i)) count = count + 1

Π’Ρ‹Ρ…ΠΎΠ΄:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ... 123456
('1', '2', '3', '4', '5', '6')
tuple1 [0] = 1
tuple1 [1] = 2
tuple1 [2] = 3
tuple1 [3] = 4
tuple1 [4] = 5
tuple1 [5] = 6
 

ΠšΠΎΡ€Ρ‚Π΅ΠΆ индСксируСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ списки. Доступ ΠΊ элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса.

ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ всС эти аспСкты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ руководства.

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ ΠΈ срСзы Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ спискам. Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ начинаСтся с 0 ΠΈ продолТаСтся Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ‹ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°) — 1.

Доступ ΠΊ элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° index []. Python Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ двоСточия для доступа ΠΊ нСскольким элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

РассмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² индСксировании ΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠ΅.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

tup = (1,2,3,4,5,6,7) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (tup [0]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (tup [1]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ‚ΡƒΠΏ [2]) # Π­Ρ‚ΠΎ выдаст IndexError ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (tup [8])

Π’Ρ‹Ρ…ΠΎΠ΄:

1
2
3
индСкс ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²Π½Π΅ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ состоит ΠΈΠ· 7 элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΡ‚ 0 Π΄ΠΎ 6.ΠœΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнту Π²Π½Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Π²Π°Π» IndexError .

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ = (1,2,3,4,5,6,7) # элСмСнт 1 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [1:]) #element ΠΎΡ‚ 0 Π΄ΠΎ 3 element ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [: 4]) #element с 1 ΠΏΠΎ 4 элСмСнт ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [1: 5]) # элСмСнт ΠΎΡ‚ 0 Π΄ΠΎ 6 ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ шаг 2 ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [0: 6: 2])

Π’Ρ‹Ρ…ΠΎΠ΄:

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

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС

Доступ ΠΊ элСмСнту ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ с использованиСм ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ индСксации.ИндСкс -1 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ ΠΏΡ€Π°Π²Ρ‹ΠΉ элСмСнт, Π° -2 — Π²Ρ‚ΠΎΡ€ΠΎΠΉ послСдний элСмСнт ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ с использованиСм ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ индСксации. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = (1, 2, 3, 4, 5) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [-1]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [-4]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [-3: -1]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [: — 1]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [-2:])

Π’Ρ‹Ρ…ΠΎΠ΄:

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

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

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

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 = (1, 2, 3, 4, 5, 6) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1) дСль ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 [0] ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1) дСль ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1 ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1)

Π’Ρ‹Ρ…ΠΎΠ΄:

(1, 2, 3, 4, 5, 6)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "tuple.py", строка 4, Π² 
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1)
NameError: имя 'tuple1' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ
 

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ

Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠ°ΠΊ конкатСнация (+), ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ (*), члСнство (Π²), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со списком.Для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ рассмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Допустим, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Tuple t = (1, 2, 3, 4, 5) ΠΈ Tuple t1 = (6, 7, 8, 9).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ повторСния позволяСт ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
 T1 * 2 = (1, 2, 3, 4, 5, 1, 2, 3, 4, 5) 
ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ Он ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΠΎΠ±Π΅ стороны ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
 Π’1 + Π’2 = (1, 2, 3, 4, 5, 6, 7, 8, 9) 
ЧлСнство Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ сущСствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС — лоТь
 print (2 in T1) ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ True. 
Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
 для i в T1:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я) 
Π’Ρ‹Ρ…ΠΎΠ΄
 1
2
3
4
5 
Π”Π»ΠΈΠ½Π° Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
 Π΄Π»ΠΈΠ½Π° (T1) = 5 

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python Tuple

SN Ѐункция ОписаниС
1 cmp (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ1, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ2) Он сравниваСт Π΄Π²Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли tuple1 большС, Ρ‡Π΅ΠΌ tuple2, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС — false.
2 len (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ) ВычисляСт Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
3 макс (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
4 ΠΌΠΈΠ½ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
5 ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (seq) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ?

ИспользованиС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° вмСсто списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ сцСнарии.

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

2. ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ структуру, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

[(101, Β«Π”ΠΆΠΎΠ½Β», 22), (102, «Майк», 28), (103, «Дастин», 30)]

Бписок vs.ΠšΠΎΡ€Ρ‚Π΅ΠΆ

SN Бписок ΠšΠΎΡ€Ρ‚Π΅ΠΆ
1 Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис списка ΠΏΠΎΠΊΠ°Π·Π°Π½ []. Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ (). 2 Бписок измСняСмый. ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. 3 Бписок ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ. ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ. 4 Бписок прСдоставляСт большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Π΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. ΠšΠΎΡ€Ρ‚Π΅ΠΆ обСспСчиваСт ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ список. 5 Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сцСнарии, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ простыС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ρ‚.Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ Π²Π½ΡƒΡ‚Ρ€ΠΈ словаря. 6 Бписки ΠΌΠ΅Π½Π΅Π΅ эффСктивны с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния памяти, Ρ‡Π΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивны с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния памяти ΠΈΠ·-Π·Π° ΠΈΡ… нСизмСнности.

ΠšΠΎΡ€Ρ‚Π΅ΠΆ Python — Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠšΠΎΡ€Ρ‚Π΅ΠΆ Python?

ΠšΠΎΡ€Ρ‚Π΅ΠΆ — это упорядочСнный Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° списки:

  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ упорядочСны — ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ порядок слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ срСди элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ содСрТат.
  • Доступ ΠΏΠΎ индСксу — Доступ ΠΊ элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСкса.
  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ любого Ρ‚ΠΈΠΏΠ°. — Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ числа, строки, списки ΠΈ Π΄Π°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ.

Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ:

  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы — Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты послС опрСдСлСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

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

  # ΠšΠΎΡ€Ρ‚Π΅ΠΆ Ρ†Π΅Π»Ρ‹Ρ… чисСл
Π’ = (1, 2, 3)

# ΠšΠΎΡ€Ρ‚Π΅ΠΆ строк
T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий')  

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ содСрТит Ρ†Π΅Π»ΠΎΠ΅ число, строку, число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

  # ΠšΠΎΡ€Ρ‚Π΅ΠΆ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
T = (1, 'abc', 1.23, True)  

ΠšΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ элСмСнты, называСтся пустым ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ , ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ с пустыми скобками
()

БинтаксичСски ΠΊΠΎΡ€Ρ‚Π΅ΠΆ — это просто Бписок Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми.

  # ΠšΠΎΡ€Ρ‚Π΅ΠΆ Π±Π΅Π· скобок
T = 1, 'abc', 1.23, True  

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

Singleton Tuple

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ это, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π·Π°ΠΏΡΡ‚ΡƒΡŽ , нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками.

  Π’ = (4,)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (T))
# Prints   

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Python Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π²Π²Π΅Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках.

  # НС ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
Π’ = (4)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ (T))
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚   

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ tuple ()

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструктора Python tuple ().

  # ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
T = ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ([1, 2, 3])
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ (1, 2, 3)  
  # ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
T = ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ('abc')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# Prints ('a', 'b', 'c')  

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сами ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π­Ρ‚ΠΎ называСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для упорядочивания Π΄Π°Π½Π½Ρ‹Ρ… Π² иСрархичСскиС структуры.

  T = ('красный', ('Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий'), 'ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ')  

Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

ΠŸΡ€ΠΈ создании ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ вмСстС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий», Β«Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉΒ»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий', 'Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ')  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния «красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий» ΠΈ Β«Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉΒ» ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ‹ вмСстС Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

Распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Когда ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ назначаСтся Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ (Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ элСмСнтам Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°).

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий», Β«Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉΒ»)
(a, b, c, d) = T

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ красным

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π±)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π·Π΅Π»Π΅Π½Ρ‹ΠΌ

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (с)
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ синСго Ρ†Π²Π΅Ρ‚Π°

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (d)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ Ρ†Π²Π΅Ρ‚  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ T распакован Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a, b, c ΠΈ d.

ΠŸΡ€ΠΈ распаковкС количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… слСва Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ количСству элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅.

  # Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ распаковкС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий', 'Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ')
(Π°, Π±) = Π’
# Triggers ValueError: слишком ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для распаковки

T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий')
(a, b, c, d) = T
# Triggers ValueError: нСдостаточно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для распаковки (оТидаСтся 4, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ 3)  

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

Распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΡƒΠ΄ΠΎΠ±Π½Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами значСния Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π±Π΅Π· использования Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

  # ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами значСния 'a' ΠΈ 'b'
Π° = 1
b = 99

Π°, Π± = Π±, Π°

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ 99

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π±)
# Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 1  

ΠŸΡ€ΠΈ распаковкС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° правая Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, строка ΠΈΠ»ΠΈ список).

  # Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π° имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄ΠΎΠΌΠ΅Π½
адрСс = '[email protected]'
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π΄ΠΎΠΌΠ΅Π½ = addr.split ('@')

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π±ΠΎΠ±

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄ΠΎΠΌΠ΅Π½)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ python.org  

Доступ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ индСкс Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ индСксация ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° начинаСтся с 0.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ для элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅:

  T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий', 'ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ', 'Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ')

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [0])
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ красным

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [2])
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ синим Ρ†Π²Π΅Ρ‚ΠΎΠΌ  

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ индСксации. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Π˜Ρ‚Π°ΠΊ, T [-1] относится ΠΊ послСднСму элСмСнту, T [-2] являСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ послСдним ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий», Β«ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉΒ», Β«Ρ‡Π΅Ρ€Π½Ρ‹ΠΉΒ»)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [-1])
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π½Ρ‹Ρ…

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [-2])
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ  

НарСзка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

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

  T = ('a', 'b', 'c', 'd', 'e', ​​'f')

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [2: 5])
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ('c', 'd', 'e')

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [0: 2])
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ('a', 'b')

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T [3: -1])
# Prints ('d', 'e')  

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы (нСизмСняСмы). Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий»)
T [0] = "Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ"
# Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ присвоСниС элСмСнта  

ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ самого ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π½ΠΎ Π½Π΅ ΠΊ Π΅Π³ΠΎ содСрТимому.НапримСр, список Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.

  T = (1, [2, 3], 4)
Π’ [1] [0] = "Ρ…Ρ…"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# Prints (1, ['xx', 3], 4)  

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ

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

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий»)
del T  

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

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° объСдинСния + ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ *

  # Concatenate
T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий') + (1, 2, 3)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий', 1, 2, 3)

# РСпликация
Π’ = ('красный',) * 3
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (T)
# Prints ('red', 'red', 'red')  

Найти Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ len ().

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (len (T))
# Prints 3  

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ элСмСнт Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, находится Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ in ΠΈ not in с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ if.

  # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅
T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий')
Ссли красный Π² T:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ('Π΄Π°')

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° отсутствиС
T = ('красный', 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ', 'синий')
Ссли Β«ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉΒ» отсутствуСт Π² T:
    print ('yes')  

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ простой Ρ†ΠΈΠΊΠ» for.

  T = («красный», Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ», «синий»)
для элСмСнта Π² T:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (элСмСнт)
# ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ красный Π·Π΅Π»Π΅Π½Ρ‹ΠΉ синий  

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ

БущСствуСт Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сортировки ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1 : Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ sorted (), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

  T = ('cc', 'aa', 'dd', 'bb')
print (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (отсортировано (T)))
# ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ('aa', 'bb', 'cc', 'dd')  

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

  T = ('cc', 'aa', 'dd', 'bb')
tmp = list (T) # ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² список
tmp.sort () # список сортировки
T = tuple (tmp) # ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
print (T) # Prints ('aa', 'bb', 'cc', 'dd')  

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Python

Python ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

Python ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
count () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
index () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ экзСмпляра ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта

ВстроСнный- in Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ

Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ
all () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли всС элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²Π΅Ρ€Π½Ρ‹
any () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли любой элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° истинСн
enumerate ( ) ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ пСрСчислСния
len () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
max () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ самый большой элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
min ( ) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наимСньший элСмСнт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
sorted () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ отсортированный ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
sum () Π‘ΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
tuple () ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ( список, строка, Π½Π°Π±ΠΎΡ€ ΠΈ Ρ‚.
ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

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

© 2019 Π¨Ρ‚ΠΈΡ€Π»ΠΈΡ† Π‘Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… салонов Π² ΠŸΠ΅Ρ€ΠΌΠΈ

Цифровая ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ, Ρ†Π²Π΅Ρ‚Π½ΠΎΠ΅ ΠΈ Ρ‡Π΅Ρ€Π½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², сканированиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ризография Π² ΠŸΠ΅Ρ€ΠΌΠΈ.