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

Python | Бписки

ПослСднСС обновлСниС: 29.01.2022

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Python прСдоставляСт Ρ‚Π°ΠΊΠΈΠ΅ встроСнныС Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°ΠΊ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ словари.

Бписок (list) прСдставляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π°Π±ΠΎΡ€ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования Π΅ΡΡ‚ΡŒ аналогичная структура Π΄Π°Π½Π½Ρ‹Ρ…, которая называСтся массив.

БозданиС списка

Для создания списка ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [], Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ элСмСнты списка. НапримСр, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ список чисСл:


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

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ списки с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ список строк:

people = ["Tom", "Sam", "Bob"]

Π’Π°ΠΊΠΆΠ΅ для создания списка ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-конструктор list():


numbers1 = []
numbers2 = list()

Оба этих опрСдСлСния списка Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ — ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ пустой список.

Бписок Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ строки, числа, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

objects = [1, 2.6, "Hello", True]

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСмСнтов списка ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС списка Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅:


numbers = [1, 2, 3, 4, 5]
people = ["Tom", "Sam", "Bob"]

print(numbers)  # [1, 2, 3, 4, 5]
print(people)   # ["Tom", "Sam", "Bob"]

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ list ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создаСтся список:


numbers1 = [1, 2, 3, 4, 5]
numbers2 = list(numbers1)
print(numbers2)  # [1, 2, 3, 4, 5]

letters = list("Hello")
print(letters)      # ['H', 'e', 'l', 'l', 'o']

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ повторяСтся ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСсколько Ρ€Π°Π·, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ *, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ фактичСски ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ умноТСния ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ списку:


numbers = [5] * 6   # 6 Ρ€Π°Π· повторяСм 5
print(numbers)      # [5, 5, 5, 5, 5, 5]

people = ["Tom"] * 3    # 3 Ρ€Π°Π·Π° повторяСм "Tom"
print(people)           # ["Tom", "Tom", "Tom"]

students = ["Bob", "Sam"] * 2   # 2 Ρ€Π°Π·Π° повторяСм "Bob", "Sam"
print(students)                 # ["Bob", "Sam", "Bob", "Sam"]


ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам списка

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


people = ["Tom", "Sam", "Bob"]
# ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов с Π½Π°Ρ‡Π°Π»Π° списка
print(people[0])   # Tom
print(people[1])   # Sam
print(people[2])   # Bob

# ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов с ΠΊΠΎΠ½Ρ†Π° списка
print(people[-2])   # Sam
print(people[-1])   # Bob
print(people[-3])   # Tom

Для измСнСния элСмСнта списка достаточно ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:


people = ["Tom", "Sam", "Bob"]

people[1] = "Mike"  # ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта
print(people[1])    # Mike
print(people)       # ["Tom", "Mike", "Bob"]

РазлоТСниС списка

Python позволяСт Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ список Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты:


people = ["Tom", "Bob", "Sam"]

tom, bob, sam = people

print(tom)      # Tom
print(bob)      # Bob
print(sam)      # Sam

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ tom, bob ΠΈ sam ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ элСмСнты ΠΈΠ· списка people. Однако слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ числу элСмСнтов присваиваСмого списка.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» for, Ρ‚Π°ΠΊ ΠΈ Ρ†ΠΈΠΊΠ» while.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for:


people = ["Tom", "Sam", "Bob"]
for person in people:
    print(person)

Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ списка people, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Π³ΠΎ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ person.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° while:


people = ["Tom", "Sam", "Bob"]
i = 0
while i < len(people):
    print(people[i])    # примСняСм индСкс для получСния элСмСнта
    i += 1

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len() ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π»ΠΈΠ½Ρƒ списка. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ счСтчика i Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ элСмСнту, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π½Π΅ станСт Ρ€Π°Π²Π½ΠΎ Π΄Π»ΠΈΠ½Π΅ списка.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ списков

Π”Π²Π° списка ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ, Ссли ΠΎΠ½ΠΈ содСрТат ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ элСмСнтов:

numbers1 = [1, 2, 3, 4, 5] numbers2 = list([1, 2, 3, 4, 5]) if numbers1 == numbers2: print("numbers1 equal to numbers2") else: print("numbers1 is not equal to numbers2")

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ±Π° списка Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π²Π½Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ со списками

Для управлСния элСмСнтами списки ΠΈΠΌΠ΅ΡŽΡ‚ Ρ†Π΅Π»Ρ‹ΠΉ ряд ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². НСкоторыС ΠΈΠ· Π½ΠΈΡ…:

  • append(item): добавляСт элСмСнт item Π² ΠΊΠΎΠ½Π΅Ρ† списка

  • insert(index, item): добавляСт элСмСнт item Π² список ΠΏΠΎ индСксу index

  • extend(items): добавляСт Π½Π°Π±ΠΎΡ€ элСмСнтов items Π² ΠΊΠΎΠ½Π΅Ρ† списка

  • remove(item): удаляСт элСмСнт item. УдаляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта. Если элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ValueError

  • clear(): ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСх элСмСнтов ΠΈΠ· списка

  • index(item): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс элСмСнта item. Если элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ValueError

  • pop([index]): удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт ΠΏΠΎ индСксу index. Если индСкс Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Ρ‚ΠΎ просто удаляСт послСдний элСмСнт.

  • count(item): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ элСмСнта item Π² список

  • sort([key]): сортируСт элСмСнты.

    По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сортируСт ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ. Но с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° key ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сортировки.

  • reverse(): расставляСт всС элСмСнты Π² спискС Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС

  • copy(): ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ список

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Python прСдоставляСт ряд встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками:

  • len(list): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ списка

  • sorted(list, [key]): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ отсортированный список

  • min(list): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наимСньший элСмСнт списка

  • max(list): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наибольший элСмСнт списка

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов

Для добавлСния элСмСнта ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ append(), extend ΠΈ insert, Π° для удалСния — ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ remove(), pop() ΠΈ clear().

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:


people = ["Tom", "Bob"]

# добавляСм Π² ΠΊΠΎΠ½Π΅Ρ† списка
people.append("Alice")  # ["Tom", "Bob", "Alice"]
# добавляСм Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ
people. insert(1, "Bill")  # ["Tom", "Bill", "Bob", "Alice"]
# добавляСм Π½Π°Π±ΠΎΡ€ элСмСнтов ["Mike", "Sam"]
people.extend(["Mike", "Sam"])      # ["Tom", "Bill", "Bob", "Alice", "Mike", "Sam"]
# ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ индСкс элСмСнта
index_of_tom = people.index("Tom")
# удаляСм ΠΏΠΎ этому индСксу
removed_item = people.pop(index_of_tom)     # ["Bill", "Bob", "Alice", "Mike", "Sam"]
# удаляСм послСдний элСмСнт
last_item = people.pop()     # ["Bill", "Bob", "Alice", "Mike"]
# удаляСм элСмСнт "Alice"
people.remove("Alice")      # ["Bill", "Bob", "Mike"]
print(people)       # ["Bill", "Bob", "Mike"]
# удаляСм всС элСмСнты
people.clear()
print(people)       # []


ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия элСмСнта

Если ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ remove ΠΈ index Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации, ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ с элСмСнтом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова in:


people = ["Tom", "Bob", "Alice", "Sam"]

if "Alice" in people:
    people. remove("Alice")
print(people)       # ["Tom", "Bob", "Sam"]

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ if "Alice" in people Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли элСмСнт «Alice» имССтся Π² спискС people. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ конструкция if "Alice" in people ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ инструкций Π² зависимости ΠΎΡ‚ наличия элСмСнта Π² спискС.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ del

Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ удалСния элСмСнтов списка — с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° del. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° этому ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ пСрСдаСтся удаляСмый элСмСнт ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ элСмСнтов:


people = ["Tom", "Bob", "Alice", "Sam", "Bill", "Kate", "Mike"]

del people[1]   # удаляСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт
print(people)   # ["Tom", "Alice", "Sam", "Bill", "Kate", "Mike"]
del people[:3]   # удаляСм  ΠΏΠΎ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ элСмСнт Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ
print(people)   # ["Bill", "Kate", "Mike"]
del people[1:]   # удаляСм  со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта
print(people)   # ["Bill"]

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько Ρ€Π°Π· Π² спискС присутствуСт Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ элСмСнт, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ count():


people = ["Tom", "Bob", "Alice", "Tom", "Bill", "Tom"]

people_count = people.
count("Tom") print(people_count) # 3

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

Для сортировки ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ sort():


people = ["Tom", "Bob", "Alice", "Sam", "Bill"]

people.sort()
print(people)      # ["Alice", "Bill", "Bob", "Sam", "Tom"]

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ послС сортировки ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reverse():


people = ["Tom", "Bob", "Alice", "Sam", "Bill"]

people.sort()
people.reverse()
print(people)      # ["Tom", "Sam", "Bob", "Bill", "Alice"]

ΠŸΡ€ΠΈ сортировкС фактичСски ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… «ΠΌΠ΅Π½ΡŒΡˆΠ΅», ставится ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «Π±ΠΎΠ»ΡŒΡˆΠ΅». ΠŸΠΎΠ½ΡΡ‚ΠΈΡ «Π±ΠΎΠ»ΡŒΡˆΠ΅» ΠΈ «ΠΌΠ΅Π½ΡŒΡˆΠ΅» довольно условны. И Ссли для чисСл всС просто — числа Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² порядкС возрастания, Ρ‚ΠΎ для строк ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ситуация слоТнСС. Π’ частности, строки ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символам. Если ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы Ρ€Π°Π²Π½Ρ‹, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Ρ‚ΠΎΡ€Ρ‹Π΅ символы ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΡ€ΠΈ Ρ‡Π΅ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ символ считаСтся «ΠΌΠ΅Π½ΡŒΡˆΠ΅», Ρ‡Π΅ΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΉ символ, Π° Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΉ символ считаСтся мСньшС, Ρ‡Π΅ΠΌ строчный.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π² спискС ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ строки с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΌ рСгистром, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ совсСм ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для нас строка «bob» Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ‚ΠΎΡΡ‚ΡŒ Π΄ΠΎ строки «Tom». И Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сортировки, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:


people = ["Tom", "bob", "alice", "Sam", "Bill"]

people.sort()       # стандартная сортировка
print(people)      # ["Bill", "Sam", "Tom", "alice", "bob"]

people.sort(key=str.lower)  # сортировка Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра
print(people)      # ["alice", "Bill", "bob", "Sam", "Tom"]

ΠšΡ€ΠΎΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sorted, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹:

  • sorted(list): сортируСт список list

  • sorted(list, key): сортируСт список list, примСняя ΠΊ элСмСнтам Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ key


people = ["Tom", "bob", "alice", "Sam", "Bill"]

sorted_people = sorted(people, key=str. lower)
print(sorted_people)      # ["alice", "Bill", "bob", "Sam", "Tom"]

ΠŸΡ€ΠΈ использовании этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта функция Π½Π΅ измСняСт сортируСмый список, Π° всС отсортированныС элСмСнты ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² Π½ΠΎΠ²Ρ‹ΠΉ список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ возвращаСтся Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

МинимальноС ΠΈ максимальноС значСния

ВстроСнный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python min() ΠΈ max() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΉΡ‚ΠΈ минимальноС ΠΈ максимальноС значСния соотвСтствСнно:


numbers = [9, 21, 12, 1, 3, 15, 18]
print(min(numbers))     # 1
print(max(numbers))     # 21

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков

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


people1 = ["Tom", "Bob", "Alice"]
people2 = people1
people2.append("Sam")   # добавляСм элСмСнт Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ список
# people1 ΠΈ people2 ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список
print(people1)   # ["Tom", "Bob", "Alice", "Sam"]
print(people2)   # ["Tom", "Bob", "Alice", "Sam"]

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ «ΠΏΠΎΠ²Π΅Ρ€Ρ…ностноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» (shallow copy). И, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ происходило ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ списки, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (deep copy). Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy():


people1 = ["Tom", "Bob", "Alice"]
people2 = people1.copy()    # ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ элСмСнты ΠΈΠ· people1 Π² people2
people2.append("Sam")   # добавляСм элСмСнт Π’ΠžΠ›Π¬ΠšΠž Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ список
# people1 ΠΈ people2 ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ списки
print(people1)   # ["Tom", "Bob", "Alice"]
print(people2)   # ["Tom", "Bob", "Alice", "Sam"]

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ части списка

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ вСсь список, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис. ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹:

  • list[:end]: Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ end пСрСдаСтся индСкс элСмСнта, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список

  • list[start:end]: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ start ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° индСкс элСмСнта, начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты

  • list[start:end:step]: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ step ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° шаг, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ элСмСнты ΠΈΠ· списка. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π²Π΅Π½ 1.


people = ["Tom", "Bob", "Alice", "Sam", "Tim", "Bill"]

slice_people1 = people[:3]   # с 0 по 3
print(slice_people1)   # ["Tom", "Bob", "Alice"]

slice_people2 = people[1:3]   # с 1 по 3
print(slice_people2)   # ["Bob", "Alice"]

slice_people3 = people[1:6:2]   # с 1 по 6 с шагом 2
print(slice_people3)   # ["Bob", "Sam", "Bill"]

БоСдинСниС списков

Для объСдинСния списков примСняСтся опСрация слоТСния (+):


people1 = ["Tom", "Bob", "Alice"]
people2 = ["Tom", "Sam", "Tim", "Bill"]
people3 = people1 + people2
print(people3)   # ["Tom", "Bob", "Alice", "Tom", "Sam", "Tim", "Bill"]

Бписки списков

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


people = [
    ["Tom", 29],
    ["Alice", 33],
    ["Bob", 27]
]

print(people[0])         # ["Tom", 29]
print(people[0][0])      # Tom
print(people[0][1])      # 29

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ индСксов: people[0][1] — ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ элСмСнту ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ списка, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это дСлаСтся с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ (ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ) списками:


people = [
    ["Tom", 29],
    ["Alice", 33],
    ["Bob", 27]
]

# созданиС влоТСнного списка
person = list()
person.append("Bill")
person.append(41)
# добавлСниС влоТСнного списка
people.append(person)

print(people[-1])         # ["Bill", 41]

# Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список
people[-1].append("+79876543210")

print(people[-1])         # ["Bill", 41, "+79876543210"]

# ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ послСднСго элСмСнта ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка
people[-1].pop()
print(people[-1])         # ["Bill", 41]

# ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСго послСднСго Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка
people.pop(-1)

# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта
people[0] = ["Sam", 18]
print(people)            # [ ["Sam", 18], ["Alice", 33], ["Bob", 27]]

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков:


people = [
    ["Tom", 29],
    ["Alice", 33],
    ["Bob", 27]
]

for person in people:
    for item in person:
        print(item, end=" | ")

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:


Tom | 29 | Alice | 33 | Bob | 27 | 

НазадБодСрТаниСВпСрСд

Бписки Π² Python: основы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Бписки Π² Python ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой упорядочСнныС измСняСмыС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ 0. ΠŸΡ€ΠΈ этом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ β€” ΠΎΡ‚ Ρ†Π΅Π»Ρ‹Ρ… чисСл Π΄ΠΎ строк. Бписки ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² сСбС списки.

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

  1. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² памяти
  2. БозданиС списка
  3. Π‘Ρ€Π΅Π·Ρ‹ (slice)
  4. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  5. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² памяти

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

numbers = [1, 2]
numbers[1] = 3
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [1, 3]

Π”ΠΎ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ print(numbers[1]) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 2, Π° послС Π·Π°ΠΌΠ΅Π½Ρ‹ β€” 3.

БозданиС списка в Python

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколькими способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пСрСчислСниСм элСмСнтов списка Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

ΠŸΡ€ΠΈ этом Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ print(numbers[0]) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 1.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ list(). ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ нСкоторая строка, Ρ‚ΠΎΠ³Π΄Π°:

list('tproger')
# ['t', 'p', 'r', 'o', 'g', 'e', 'r']

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Допустим, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ list, состоящий ΠΈΠ· чисСл ΠΎΡ‚ 1 Π΄ΠΎ 5 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ:

numbers = [i for i in range(1,6)]
# [1, 2, 3, 4, 5]

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

Π‘Ρ€Π΅Π·Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΠ΅ подмноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Ρ‘Ρ‚ список с элСмСнтами, начиная индСксом 0 ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΈ этом индСкс 2 ΠΈ Π²Ρ‹ΡˆΠ΅:

numbers = [1, 5, 9, 6]
print(numbers[0:2])
# Π²Ρ‹Π²ΠΎΠ΄ [1, 5]

Π”Π°Π»Π΅Π΅ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ всё, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 3:

print(numbers[:3])
# Π²Ρ‹Π²ΠΎΠ΄ [1, 5, 9]

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ начиная с индСкса 1 ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°:

print(numbers[1:])
# Π²Ρ‹Π²ΠΎΠ΄ [5, 9, 6]

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ списками Python

  • x in l β€” true, Ссли элСмСнт x Π΅ΡΡ‚ΡŒ Π² спискС l;
  • x not in l β€” true, Ссли элСмСнт x отсутствуСт Π² l;
  • l1 + l2 β€” объСдинСниС Π΄Π²ΡƒΡ… списков;
  • l * n , n * l β€” ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ список n Ρ€Π°Π·;
  • len(l) β€” количСство элСмСнтов Π² l;
  • min(l) β€” наимСньший элСмСнт;
  • max(l) β€” наибольший элСмСнт;
  • sum(l) β€” сумма чисСл списка;
  • for i in list() β€” ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ элСмСнты слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

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

Index

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ совпавшСго элСмСнта. Поиск совпадСния происходит слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

numbers = [1, 5, 9, 6, 1, 2, 1]
print(numbers.index(1))
# Π²Ρ‹Π²ΠΎΠ΄ 0: пСрвая найдСнная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0

Count

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ считаСт, сколько Ρ€Π°Π· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ появляСтся Π² спискС Python:

numbers = [1, 5, 9, 6, 1, 2, 1]
print(numbers.count(1))
# Π²Ρ‹Π²ΠΎΠ΄ 3, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° встрСчаСтся 3 Ρ€Π°Π·Π°

Append

ДобавляСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ†:

numbers = [1, 5, 9, 6]
numbers.append(3)
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [1, 5, 9, 6, 3]

Sort

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ список Π² ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ мСньшСго ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ:

numbers = [1, 5, 9, 6]
numbers.sort()
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [1, 5, 6, 9]

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов ΠΎΡ‚ большСго ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ:

numbers = [1, 5, 9, 6]
numbers.sort(reverse = true)
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [9, 6, 5, 1]

Insert

ВставляСт элСмСнт ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ индСксом:

numbers = [1, 5, 9, 6]
numbers. insert(3, [2, 3])
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [1, 5, 9, [2, 3], 6]

Remove

УдаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ попавшССся Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта Π² спискС Python:

numbers = [1, 5, 9, 6, 1, 2, 1]
numbers.remove(1)
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [5, 9, 6, 1, 2, 1]

Extend

Подобно ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ append(), добавляСт элСмСнты, Π½ΠΎ прСимущСство ΠΌΠ΅Ρ‚ΠΎΠ΄Π° extend() Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ списки:

numbers = [1, 5, 9, 6]
numbers.extend([2, 3])
# ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ список: [1, 5, 9, 6, 2, 3]

Pop

А Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ удаляСт элСмСнт Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ индСксС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ элСмСнт. Если индСкс Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ послСдний элСмСнт:

numbers = [1, 5, 9, 6]
numbers.pop(1)
# ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:
# 5
# [1, 9, 6]

Join

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

mylist = ['сайт', 'Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ', 'программист']
print(', '. join(mylist))
# Π²Ρ‹Π²ΠΎΠ΄ 'сайт, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ, программист'

Бписки Π² Python β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° List ~ PythonRu

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

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

Вторая строка этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ списка python β€” индСкс элСмСнта списка.
z = [3, 7, 4, 2]  # БозданиС списка

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… 
heterogenousElements = [3, True, 'Витя', 2.0] 

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

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

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

z = [3, 7, 4, 2]  # создаСм список 
# ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту списка с индСксом 0
print(z[0]) 
# элСмСнт с индСксом 0 -> 3

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ послСдний элСмСнт списка 
>>> print(z[-1])
2

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> print(z[3])
2

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

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ список
z = [3, 7, 4, 2]
# Π’Ρ‹Π²ΠΎΠ΄ элСмСнтов с индСксом ΠΎΡ‚ 0 Π΄ΠΎ 2 (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 2)
print(z[0:2]) 
# Π²Ρ‹Π²ΠΎΠ΄: [3, 7]

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# ВсС, ΠΊΡ€ΠΎΠΌΠ΅ индСкса 3
>>> print(z[:3])
[3, 7, 4]

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# начиная с индСкса 1 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка
>>> print(z[1:])
[7, 4, 2]

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


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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

z = [3, 7, 4, 2]  # БозданиС списка
# ИзмСняСм элСмСнт с индСксом 1 Π½Π° строку 'fish'
z[1] = 'fish'
print(z)
[3, 'fish', 4, 2]

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

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Index

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ список
>>> z = [4, 1, 5, 4, 10, 4]
>>> print(z. index(4))
0

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> print(z.index(4, 3))
3

ΠœΠ΅Ρ‚ΠΎΠ΄ Count

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Sort

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

z = [3, 7, 4, 2]
z.sort()
print(z)
[2, 3, 4, 7]
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка с наибольшСго значСния ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

# Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ исходного списка ΠΎΡ‚ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ
z.sort(reverse = True)
print(z)
[7, 4, 3, 2]

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser


# Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка строками
names = ["Π‘Ρ‚ΠΈΠ²", "Π Π΅ΠΉΡ‡Π΅Π»", "Майкл", "Адам", "ДТСссика", "ЛСстСр"]
names.sort()
print(names)
['Адам', 'ДТСссика', 'ЛСстСр', 'Майкл', 'Π Π΅ΠΉΡ‡Π΅Π»', 'Π‘Ρ‚ΠΈΠ²']

ΠœΠ΅Ρ‚ΠΎΠ΄ Append

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Remove

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

[7, 4, 3, 3]

ΠœΠ΅Ρ‚ΠΎΠ΄ Pop

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Extend

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> print([1,2] + [3,4])
[7, 3, 3, 4, 5]

ΠœΠ΅Ρ‚ΠΎΠ΄ Insert

ВставляСт [1,2] с индСксом 4

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> list1 = [2, 3, 4, 1, 32]
>>> 2 in list1  # 2 Π² list1?
True
>>> 33 not in list1  # 33 Π½Π΅ Π² list1?
True
>>> len(list1)  # количСство элСмСнтов списка
5
>>> max(list1)  # самый большой элСмСнт списка
32
>>> min(list1)  # наимСньший элСмСнт списка
1
>>> sum(list1)  # сумма чисСл Π² спискС
42
# Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков python (list comprehension)
>>> x =  [i for i in range(10)]
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list1. reverse()) # Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ список
[32, 1, 4, 3, 2]

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

+ и * для списков

+ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° списка.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

list1 = [11, 33]
list2 = [1, 9]
list3 = list1 + list2
print(list3)
[11, 33, 1, 9]

* ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты Π² спискС.


ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

list4 = [1, 2, 3, 4]
list5 = list4 * 3
print(list5)
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

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

in ΠΈ not in

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> 22 not in list1
False

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка Π² строку

Как ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² строку?
Для прСобразования списка Π² строку ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ join(). Π’ Python это выглядит Ρ‚Π°ΠΊ:
",".join(["a", "b", "c"]) -> "a,b,c".
Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΈΡˆΡƒΡ‚ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΏΠ΅Ρ€Π΅Π΄ join, Π² список Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· строк.

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

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ссли это список строк, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ join() ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> print('\n'.join(mylist))
spam
ham
eggs

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

>>> print(str(list_of_ints)[1:-1])
80, 443, 8080, 8081

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Use a different Browser

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

ВСст Π½Π° Π·Π½Π°Π½ΠΈΠ΅ списков Π² Python

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

ВсС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²Π΅Ρ€Π½Ρ‹

l = list[1, 2, 3]

l = [1, 2, 3]

l = list(1, 2, 3)

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄:

a = [ 1, 342, 223, 'Африка', 'ΠžΡ‡ΠΊΠΈ']
print(a[-3])

‘Африка’

ΠžΡˆΠΈΠ±ΠΊΡƒ

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄:

sample = [10, 20, 30]
sample.append(60)
sample.insert(3, 40)
print(sample)

[10, 20, 30, 60, 40]

[10, 20, 30, 40]

[10, 20, 30, 40, 60]

[60, 10, 20, 30, 40]

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄:

lake = ["Python", 51, False, "22"]
lake.reverse()
lake.reverse()
print(lake[-2])

Π§Ρ‚ΠΎ ΠΈΠ· пСрСчислСнного ΠΏΡ€Π°Π²Π΄Π°?

Бписок Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² спискС

ВсС элСмСнты списка Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ повторятся

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ['bar', 'baz'] ΠΈΠ· списка

a = ['foo', 'bar', 'baz', 'qux', 'quux']

?

print(a[-4:-3])

print(a[1:-2])

print(a[2:3])

print(a[2:4])

print(a[1], a[2])

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 'bar' ΠΈΠ· списка

x = [10, [3. 141, 20, [30, 'baz', 2.718]], 'foo']

?

x[1][2][1]

x[1][1]

x[2][3][2]

Как ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ «3» Π² спискС a = [1, 3, 5] ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ [1, 5]?

del a[3]

a.remove(1)

a[1] = []

a.remove(2)

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сразу Π΄Π²Π° элСмСнта Π² список?

append

extend

insert

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ этот ΠΊΠΎΠ΄ [1, 2] * 3?

[1, 2, 1, 2, 1, 2]

[1, 2][1, 2][1, 2]

ΠžΡˆΠΈΠ±ΠΊΡƒ

[[1, 2], [1, 2], [1, 2]]

{{title}}

{{image}}

{{content}}

{{/global}}

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

Facebook Twitter VK

Бписки

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

  • Π§Ρ‚ΠΎ это?
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка
    • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков
    • ΠœΠ΅Ρ‚ΠΎΠ΄ list.append
    • Ѐункция list
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка: доступ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
    • ИзмСнСниС элСмСнтов
    • Доступ Π² Ρ†ΠΈΠΊΠ»Π΅ while
    • Доступ Π² Ρ†ΠΈΠΊΠ»Π΅ for
      • ΠŸΠΈΡ‚ΠΎΠ½ΠΈΠ·ΠΌΡ‹
  • Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков
  • Π Π΅ΠΌΠ°Ρ€ΠΊΠ° ΠΎ строках
  • ΠšΠΎΠ½Ρ‚Π΅ΡΡ‚ β„–5

Бписок Π² Python это:

упорядочСнная измСняСмая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

Бписок Python являСтся Π³ΠΈΠ±ΠΊΠΈΠΌ Π² использовании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. -2′] >>> type([]) <class ‘list’>

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список, хранящий значСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² чисСл ΠΈΠ»ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ синтаксичСским сахаром Python — Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ списка:

>>> arithm = [ x for x in range(10) ]
>>> squares = [ x**2 for x in range(10) ]
>>> arithm
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Однако Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π½Π΅ стоит — Ссли Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ происходит ΠΏΠΎ слоТным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ использования Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ читаСмости ΠΊΠΎΠ΄Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ list.append

ΠœΠ΅Ρ‚ΠΎΠ΄ списков list.append (Π°Π½Π³Π». Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ†), ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ инициализируСтся пустой список fibs, Π° Π·Π°Ρ‚Π΅ΠΌ заполняСтся элСмСнтами:

>>> fibs = []
>>> fibs. -2'
>>> l = [10, 20, 30]
>>> l[0]
10
>>> l[1]
20
>>> l[2]
30

НумСрация элСмСнтов списка начинаСтся с нуля.

ΠŸΡ€ΠΈ запросС элСмСнта ΠΏΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу, происходит ошибка IndexError:

>>> l
[10, 20, 30]
>>> l[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всСгда Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ индСксация Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π΄Π»ΠΈΠ½Ρ‹ списка. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ для строк, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len():

>>> l
[10, 20, 30]
>>> len(l)
3
>>> l[len(l) - 1]
30

ПослСдняя конструкция встрСчаСтся Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ, поэтому Π² Python сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·ΡΡ‚ΡŒ элСмСнт ΠΏΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ индСксу:

>>> l
[10, 20, 30]
>>> l[-1]
30
>>> l[-2]
20
>>> l[-3]
10
>>> l[-4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для индСкса n β‰₯ 0, l[-n] эвивалСнтно l[len(l) - n].

ИзмСнСниС элСмСнтов

ИзмСнСниС элСмСнтов осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ присваивания:

>>> l = [10, 20, 30]
>>> l
[10, 20, 30]
>>> l[0] = 0
>>> l
[0, 20, 30]
>>> l[2] = 55
>>> l
[0, 20, 55]

Доступ Π² Ρ†ΠΈΠΊΠ»Π΅ while

>>> l
[0, 20, 55]
>>> i = 0
>>> while i < len(l):
...     print(i, l[i])
...     i += 1
...
0 0
1 20
2 55
>>>

Доступ Π² Ρ†ΠΈΠΊΠ»Π΅ for

НаиболСС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ это использованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° range:

>>> l
[0, 20, 55]
>>> for i in range(len(l)):
...     print(i, l[i])
...
0 0
1 20
2 55
ΠŸΠΈΡ‚ΠΎΠ½ΠΈΠ·ΠΌΡ‹

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ с использованиСм while ΠΈ for, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅, ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈ практичСски Π²ΠΎ всСх языках программирования. Они ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹, стандартны, пСрСносимы ΠΈΠ· языка Π² язык.

Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ особСнностям языка Python.

НС злоупотрСбляйтС ΠΏΠΈΡ‚ΠΎΠ½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, наша Ρ†Π΅Π»ΡŒ — ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Python.

Π’ языкС Python Ρ†ΠΈΠΊΠ» for Π½Π° самом Π΄Π΅Π»Π΅ являСтся синтаксичСским сахаром, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π•Π³ΠΎ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ синтаксис выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

for item in any_iterable:
    #  Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°

Π—Π΄Π΅ΡΡŒ item это Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ программистом имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ итСрирования, которая доступна Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ помСщаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· any_iterable. Под any_iterable ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π—Π½Π°ΠΊΠΎΠΌΡ‹Π΅ Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

  • range — Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ арифмСтичСской ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, for «ΠΏΡ€ΠΎΡΠΈΡ‚» Π½ΠΎΠ²Ρ‹Π΅ значСния Ρƒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΠΎΠΊΠ° Ρ‚Π΅ Π½Π΅ закончатся
  • str — строковый Ρ‚ΠΈΠΏ, ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит ΠΏΠΎ символам
  • list — список, ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит ΠΏΠΎ элСмСнтам

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, «pythonic way» ΠΏΡ€ΠΎΠ±Π΅Π³Π° ΠΏΠΎ списку ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

>>> l
[0, 20, 55]
>>> for elem in l:
. ..     print(elem)
...
0
20
55

ΠžΡ‚ΡΡŽΠ΄Π° Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ программист Π² Ρ‚Π°ΠΊΠΎΠΌ случаС тСряСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс элСмСнта, Ссли ΠΎΠ½ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ΅Π½.

Под ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ сущСствуСт мноТСство «ΠΏΠΈΡ‚ΠΎΠ½ΠΈΠ·ΠΌΠΎΠ²» — спСцифичСских для языка Python инструмСнтов.

Один ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² — enumerate — позволяСт программисту ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ индСкс ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (!) ΠΈ сам элСмСнт.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ использовании Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ совпадаСт с индСксом элСмСнта:

>>> l
[0, 20, 55]
>>> for i, elem in enumerate(l):
...     print(i, elem)
...
0 0
1 20
2 55

Код ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ для enumerate Π²Ρ‹ΡˆΠ΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ:

>>> l
[0, 20, 55]
>>> for i in range(len(l)):
...     elem = l[i]
...     print(i, elem)
...
0 0
1 20
2 55
>>> l
[0, 20, 55]
>>> i = 0
>>> while i < len(l):
...     elem = l[i]
...     print(i, elem)
...     i += 1
...
0 0
1 20
2 55

Бписки ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ in place, Ρ‚. Π΅. пСрСзаписывая, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° list.extend:

>>> a
[0, 1, 2]
>>> b
[3, 4, 5]
>>> a.extend(b)
>>> a
[0, 1, 2, 3, 4, 5]
>>> b
[3, 4, 5]

Или ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, создавая Π½ΠΎΠ²Ρ‹ΠΉ список ΠΈΠ· исходных:

>>> a
[0, 1, 2]
>>> b
[3, 4, 5]
>>> c = a + b
>>> c
[0, 1, 2, 3, 4, 5]

Π‘ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ списков Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным. Python Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ осущСствляСт ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ явно:

>>> a
[0, 1, 2]
>>> b = a
>>> b
[0, 1, 2]
>>> b[0] = 123
>>> a
[123, 1, 2]
>>> b
[123, 1, 2]

Π’ строчкС b = a лишь создаётся Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ [0, 1, 2], которая присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b. Π’ ΠΈΡ‚ΠΎΠ³Π΅ a ΠΈ b Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ поэлСмСнтно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ список ΠΈΠ· исходного. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list():

>>> a = [0, 1, 2]
>>> b = list(a)
>>> a
[0, 1, 2]
>>> b
[0, 1, 2]
>>> b[0] = 123
>>> a
[0, 1, 2]
>>> b
[123, 1, 2]

На самом Π΄Π΅Π»Π΅, ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π½Π΅Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ со списками Π² ΠΏΡ€Π΅Π΄ΡƒΠ΄Ρ‹Ρ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ…, ΠΊΠΎΠ³Π΄Π° использовали str.split:

>>> s = "ab cd ef1 2 301"
>>> s.split()
['ab', 'cd', 'ef1', '2', '301']

Π’.Π΅. str.split, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку ΠΏΠΎ символам пустого пространства (ΠΏΡ€ΠΎΠ±Π΅Π», табуляция) ΠΈ создаёт список ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ…ΡΡ «ΡΠ»ΠΎΠ²».

ЗаглянитС Π² help(str.split), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ строку, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ запятым, Ρ‡Ρ‚ΠΎ являСтся стандартом для прСдставлСния Ρ‚Π°Π±Π»ΠΈΡ† Π² Ρ„Π°ΠΉΠ»Π°Ρ… csv (comma separated values).

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ str.split являСтся str.join. Он «ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚» строку ΠΈΠ· списка строк:

>>> s
'ab cd ef1 2 301'
>>> l = s. split()
>>> l
['ab', 'cd', 'ef1', '2', '301']
>>> l[-1] = '430'
>>> l
['ab', 'cd', 'ef1', '2', '430']
>>> ','.join(l)
'ab,cd,ef1,2,430'
>>> ' -- '.join(l)
'ab -- cd -- ef1 -- 2 -- 430'

Π£Ρ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² контСстС.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Python. Π§Π°ΡΡ‚ΡŒ 5. Бписки

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

  • АлСся ΠœΠ°Ρ€ΠΎΡ…ΠΎΠ²ΡΠΊΠ°Ρ

02.12.2020

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

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚Π°ΠΊΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ списки: ΠΊΠ°ΠΊ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π³Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ. Бписки это Ρ‚ΠΎ, с Ρ‡Π΅ΠΌ я Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. Π”Π° ΠΈ Π²Ρ‹, кстати Ρ‚ΠΎΠΆΠ΅, просто Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ± этом. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ!Β 

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

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ…, Π³Π΄Π΅ ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ рассказывали ΠΏΡ€ΠΎ строки ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹, Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ встрСчали Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΡˆΡ‚ΡƒΠΊΡƒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках β€” [1, 2, 3, 4, 5]. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ список. Или list Π½Π° языкС Python. Бписки Π² Python β€” это просто Π½Π΅ΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ упорядочСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Бписки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: это ΠΌΠΎΠ³ΡƒΡ‚ Ρ†Π΅Π»Ρ‹Π΅ ΠΈ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа, строчки. Π’ списках ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ сами списки.

Бписки ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΠΎ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой список, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ list() ΠΈΠ»ΠΈ просто ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки []. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим список с элСмСнтами Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ my_list. И с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° for выясним Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта списка.

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

К элСмСнтам Π² спискС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»ΠΎΠ². НапримСр, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ порядковый Π½ΠΎΠΌΠ΅Ρ€ элСмСнта Π² спискС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΅Π³ΠΎ индСкс, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту. НапримСр, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² нашСм my_list = [1, 1. 4, ‘line’, [1, 2, 3], 1.4] элСмСнт Β«lineΒ» Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠΎ счСту, Π½ΠΎ Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ-питоновски, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚ 0, Ρ‚ΠΎ получаСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ индСкс элСмСнта Β«lineΒ» β€” 2. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ этому элСмСнту ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ β€” my_list[2] β€” сначала Π½Π°Π·Π²Π°Π½ΠΈΠ΅ списка, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ индСкс.

Но ΠΊΠΎΠ³Π΄Π° элСмСнтов Π² спискС ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ просто Π³Π»Π°Π·Π°ΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π½Π΅ получаСтся, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .index(). Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ списка, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π° Π² скобках сам элСмСнт, индСкс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, β€” my_list.index(1.4). Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 1.

Волько ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² спискС, Ρ‚ΠΎ это ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅Ρ€Π½Π΅Ρ‚ Π²Π°ΠΌ индСкс Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ стоит ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² спискС.

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

Команда .insert() Ρ‚ΠΎΠΆΠ΅ добавляСт элСмСнты Π² список, Π½ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ мСсто. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ индСкс, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнт, Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ β€” сам элСмСнт. Π’ output ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ элСмСнт встраиваСтся Π² список Ρ€ΠΎΠ²Π½ΠΎ Π½Π° Ρ‚ΠΎ мСсто, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΡΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ.

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° для удалСния элСмСнтов ΠΈΠ· списка β€” .remove(), Π³Π΄Π΅ Π² скобочках Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· списка. Но Ссли Ρ‚Π°ΠΊΠΈΡ… элСмСнтов Π² спискС нСсколько, удалится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ. Если Π²Ρ‹ попроситС ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² спискС, Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ элСмСнт 100 ΠΈΠ· списка.

Π’Π°ΠΊΠΆΠ΅ списки ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted(). Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π½ΠΎΠ²Ρ‹ΠΉ список Π² числами number_list = [3, 49, 1, 16]. И ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π½Π΅ΠΌΡƒ sorted(). ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π² output отсортированный ΠΎΡ‚ мСньшСго ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ список.

Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ послС примСнСния sorted() исходный number_list Π½Π° самом Π΄Π΅Π»Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ список Π² отсортированном Π²ΠΈΠ΄Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ sorted(number_list) Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ, кстати, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа Π² списках, Π½ΠΎ ΠΈ строки.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ попрактикуСмся ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Она Π±ΡƒΠ΄Π΅Ρ‚ 5 Ρ€Π°Π· ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти число ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· этих чисСл Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² список. А ΠΏΠΎΡ‚ΠΎΠΌ распСчатаСт Π½Π°ΠΌ список ΠΈΠ· этих 5 чисСл. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡ΠΊΡƒ, Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сначала сами Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ с ΠΌΠΎΠ΅ΠΉ вСрсиСй.

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой список, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π²Π΅Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. А дальшС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for i in range(5) ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡΡ‚ΡŒ Ρ€Π°Π· ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Для Π½Π°Ρ‡Π°Π»Π° ΠΏΡΡ‚ΡŒ Ρ€Π°Π· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ input(Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число») попросим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти число. А Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ число сохраним Π² наш список. И распСчатаСм наш список.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ услоТним Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ 5 Ρ€Π°Π· ввСсти Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅. Если Π΄Π°, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² список, Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π° экранС *Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ число* Π½Π΅ дСлится Π½Π° 2 Π±Π΅Π· остатка.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· %, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния. Если Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ 4%2, Ρ‚ΠΎ Π² output Π±ΡƒΠ΄Π΅Ρ‚ 0, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ остатка Π½Π΅Ρ‚.

Или Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ Π² Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π³Ρ€ΡΠ·ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ. НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ список β€” my_list = [‘2%’, «45 %», ‘6%’, β€œ11”, β€˜15 %’]Β . Π”Π°Π²Π°ΠΉΡ‚Π΅ очистим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΎΡ‚ лишнСго Π·Π½Π°ΠΊΠ° %.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Π²Ρ‹ ΡƒΠΆΠ΅ поняли, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΡƒΡ€ΠΎΠΊΠ° я сказала, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ часто сталкиваСмся со списками ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ список, это Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ просто строчка Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. А Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” это просто список списков. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Допустим Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ количСствС прСступников Π² ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ насСлСнных ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… β€” crimes = [30000, 10000, 200]. И ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· этих насСлСнных ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… самая криминогСнная обстановка. И Π²Ρ‹ ΠΌΠ½Π΅ скаТСтС: Β«Π’Π°ΠΊ Π΄Π°Π²Π°ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ max(crimes) ΠΈ ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π°ΠΌ это самоС большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка crimes ΠΈ ΠΌΡ‹ разойдСмся.Β» ВСхничСски это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Но Π½Π΅ всС Ρ‚Π°ΠΊ просто. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ‚ΠΈΠΏΠ° количСства прСступников, Π΄Π΅Ρ‚Π΅ΠΉ сирот, людСй с алкогольной Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° количСство всСх людСй ΠΏΡ€ΠΎΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π² этом насСлСнном ΠΏΡƒΠ½ΠΊΡ‚Π΅. Π˜Π½Π°Ρ‡Π΅ всСгда Π±Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Москва самый опасный Π³ΠΎΡ€ΠΎΠ΄ Π² России просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² МосквС ΠΆΠΈΠ²Π΅Ρ‚ большС всСго людСй. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ пригодится Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° строчка Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ список β€” population = [100000, 50000, 1000]. И дальшС Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ количСство прСступников/насСлСниС * 1000 Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ число прСступников Π½Π° 1000 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим пустой список norm_crimes = [], Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ссли ΠΌΡ‹ объСдиним всС Ρ‚Ρ€ΠΈ списка Π² ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ ΠΏΠΎ сути ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Если Π±Ρ‹ ΠΌΡ‹ сохранили этот наш список списков Π² xls ΠΈΠ»ΠΈ csv ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Π±Ρ‹ этот Ρ„Π°ΠΉΠ» Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‚ΠΎ ΠΎΠ½ выглядСл Π±Ρ‹ ΠΊΠ°ΠΊ обычная Ρ‚Π°Π±Π»ΠΈΡ†Π°.

МоТСм Π΅Ρ‰Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ, посчитав сумму всСх прСступников, сумму насСлСния для всСх насСлСнных ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ для всСх насСлСнных ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ сумму всСх чисСл Π² спискС, Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ списку ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sum().

И с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .append() Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ эти ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ списки.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΈΠ»ΠΈ дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π°!)

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ я рассказала ΠΎΠ± основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈ функциях списков, Π½ΠΎ Π½Π΅ ΠΎΠ±ΠΎ всСх. Как ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ здСсь. Π’Π΅Ρ‚Ρ€Π°Π΄ΠΊΡƒ Jupyter Notebook с этим ΡƒΡ€ΠΎΠΊΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² нашСм GitHub здСсь. А Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΊΠΈ для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‚ΠΎ ΠΌΡ‹ собрали ΠΈΡ… здСсь.

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

Π’Π΅Π³ΠΈ

#ddj#python#мастСрская#ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Python. Π£Ρ€ΠΎΠΊ 7. Π Π°Π±ΠΎΡ‚Π° со списками (list)

Одна ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… особСнностСй Python, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ являСтся таким популярным – это простота. ОсобСнно ΠΏΠΎΠ΄ΠΊΡƒΠΏΠ°Π΅Ρ‚ простота Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ… – списками, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ, словарями ΠΈ мноТСствами. БСгодня ΠΌΡ‹ рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ список (list) Π² Python?

Бписок (list) – это структура Π΄Π°Π½Π½Ρ‹Ρ… для хранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Ρ‚ΠΎ Π²Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠΎ понятиС массива. Π’Π°ΠΊ Π²ΠΎΡ‚, список ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° массив, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ сказано Π²Ρ‹ΡˆΠ΅, Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€ списка Π½Π΅ статичСн, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Бписок ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ являСтся измСняСмым Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, опрСдСляСмая ΠΊΠ°ΠΊ список, содСрТит ссылку Π½Π° структуру Π² памяти, которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылки Π½Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ структуры.

Как списки хранятся Π² памяти?

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, список являСтся измСняСмым Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ Π΅Π³ΠΎ создании Π² памяти рСзСрвируСтся ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ условно Π½Π°Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ β€œΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌβ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся ссылки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ число ΠΈΠ»ΠΈ строка, содСрТимоС β€œΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°β€ списка ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС этот процСсс взглянитС Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½ΠΈΠΆΠ΅. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» создан список содСрТащий ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 1 ΠΈ 2, послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ a[1] = 3, вторая ссылка Π² спискС стала ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 3.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ эти вопросы ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ Π² ΡƒΡ€ΠΎΠΊΠ΅ 3 (Π’ΠΈΠΏΡ‹ ΠΈ модСль Π΄Π°Π½Π½Ρ‹Ρ…).

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ списков ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π΅Π³ΠΎ элСмСнтами

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов.

>>> a = [] 
>>> type(a) 
<class 'list'> 
>>> b = list() 
>>> type(b) 
<class 'list'>

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список с Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

>>> a = [1, 2, 3] 
>>> type(a) 
<class 'list'>

Если Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ список ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ копию, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

>>> a = [1, 3, 5, 7] 
>>> b = a[:] 
>>> print(a) 
[1, 3, 5, 7] 
>>> print(b) 
[1, 3, 5, 7]

ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ:

>>> a = [1, 3, 5, 7] 
>>> b = list(a) 
>>> print(a) 
[1, 3, 5, 7] 
>>> print(b) 
[1, 3, 5, 7]

Π’ случаС, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ простоС присвоСниС списков Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Π±ΡƒΠ΄Π΅Ρ‚ присвоСна ссылка Π½Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся a, Π° Π½Π΅ копия списка Π°. Π’.Π΅. Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ список a, Ρ‚ΠΎ ΠΈ b Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

>>> a = [1, 3, 5, 7] 
>>> b = a 
>>> print(a) 
[1, 3, 5, 7] 
>>> print(b) 
[1, 3, 5, 7] 
>>> a[1] = 10 
>>> print(a) 
[1, 10, 5, 7] 
>>> print(b) 
[1, 10, 5, 7]

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² список осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append().

>>> a = [] 
>>> a.append(3) 
>>> a.append("hello") 
>>> print(a) 
[3, 'hello']

Для удалСния элСмСнта ΠΈΠ· списка, Π² случаС, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ remove(x), ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° пСрвая ссылка Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт.

>>> b = [2, 3, 5] 
>>> print(b) 
[2, 3, 5] 
>>> b.remove(3) 
>>> print(b) 
[2, 5]

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΏΠΎ Π΅Π³ΠΎ индСксу, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ del имя_списка[индСкс].

>>> c = [3, 5, 1, 9, 6] 
>>> print(c) 
[3, 5, 1, 9, 6] 
>>> del c[2] 
>>> print(c) 
[3, 5, 9, 6]

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта списка, зная Π΅Π³ΠΎ индСкс, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ.

>>> d = [2, 4, 9] 
>>> print(d) 
[2, 4, 9] 
>>> d[1] = 17 
>>> print(d) 
[2, 17, 9]

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

>>> a = [3, 5, 7, 10, 3, 2, 6, 0] 
>>> a[2] 
7

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС счСт Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ с ΠΊΠΎΠ½Ρ†Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для доступа ΠΊ послСднСму элСмСнту списка ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

>>> a[-1] 
0

Для получСния ΠΈΠ· списка Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подсписка Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ индСксов, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² ΠΈΡ… Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.

>>> a[1:4] 
[5, 7, 10]

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

list.append(x)

ДобавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка. Π’Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ a[len(a):] = [x].

>>> a = [1, 2] 
>>> a.append(3) 
>>> print(a) 
[1, 2, 3]

list.extend(L)

Π Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ список Π·Π° счСт добавлСния всСх элСмСнтов ΠΈΠ· списка L. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ a[len(a):] = L.

>>> a = [1, 2] 
>>> b = [3, 4] 
>>> a.extend(b) 
>>> print(a) 
[1, 2, 3, 4]

list.insert(i, x)

Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт x Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ i. Β ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ – индСкс элСмСнта послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ вставлСн элСмСнт x.

>>> a = [1, 2] 
>>> a. insert(0, 5) 
>>> print(a) 
[5, 1, 2] 
>>> a.insert(len(a), 9) 
>>> print(a) 
[5, 1, 2, 9]

list.remove(x)

УдаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта x ΠΈΠ· списка.

>>> a = [1, 2, 3] 
>>> a.remove(1) 
>>> print(a) 
[2, 3]

list.pop([i])

УдаляСт элСмСнт ΠΈΠ· ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ i ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ послСдний элСмСнт ΠΈΠ· списка.

>>> a = [1, 2, 3, 4, 5] 
>>> print(a.pop(2)) 
3 
>>> print(a.pop()) 
5 
>>> print(a) 
[1, 2, 4]

list.clear()

УдаляСт всС элСмСнты ΠΈΠ· списка. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ del a[:].

>>> a = [1, 2, 3, 4, 5] 
>>> print(a) 
[1, 2, 3, 4, 5] 
>>> a.clear() 
>>> print(a) 
[]

list. index(x[, start[, end]])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс элСмСнта.

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

list.count(x)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ элСмСнта x Π² список.

>>> a=[1, 2, 2, 3, 3] 
>>> print(a.count(2)) 
2

list.sort(key=None, reverse=False)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты Π² спискС ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ. Для сортировки Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ reverse=True. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ key, Π·Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

>>> a = [1, 4, 2, 8, 1] 
>>> a.sort() 
>>> print(a) 
[1, 1, 2, 4, 8]

list.reverse()

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ порядок располоТСния элСмСнтов Π² спискС Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ.

>>> a = [1, 3, 5, 7] 
>>> a. reverse() 
>>> print(a) 
[7, 5, 3, 1]

list.copy()

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию списка. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ a[:].

>>> a = [1, 7, 9] 
>>> b = a.copy() 
>>> print(a) 
[1, 7, 9] 
>>> print(b) 
[1, 7, 9] 
>>> b[0] = 8 
>>> print(a) 
[1, 7, 9] 
>>> print(b) 
[8, 7, 9]

List Comprehensions

List Comprehensions Ρ‡Π°Ρ‰Π΅ всСго Π½Π° русский язык пСрСводят ΠΊΠ°ΠΊ  абстракция списков ΠΈΠ»ΠΈ списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ синтаксиса языка, которая прСдоставляСт простой способ построСния списков.Β ΠŸΡ€ΠΎΡ‰Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Ρƒ list comprehensions ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Допустим Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΎΡ‚ 0Β Π΄ΠΎ n, Π³Π΄Π΅ n ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ задаСтся. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ способ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ выглядСл Π±Ρ‹ Ρ‚Π°ΠΊ:

>>> n = int(input())
7
>>> a=[]
>>> for i in range(n):
        a. append(i)
>>> print(a)
[0, 1, 2, 3, 4, 5, 6]

ИспользованиС list comprehensions позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅:

>>> n = int(input())
7
>>> a = [i for i in range(n)]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6]

ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ, Π² случаС Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ большС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ n:

>>> a = [i for i in range(int(input()))]
7
>>> print(a)
[0, 1, 2, 3, 4, 5, 6]

List Comprehensions ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ списков

Π’ языкС Python Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями: map ΠΈ filter. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ программирования, Π½Π΅ прибСгая ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΊΠ°ΠΊ list, tuple, set, dict ΠΈ Ρ‚.ΠΏ. БписковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎ Ρ‡Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ map.

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

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = []
>>> for i in a:
        b.append(i**2)
>>> print('a = {}\nb = {}'.format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [1, 4, 9, 16, 25, 36, 49]

Π’Π° ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π°, Ρ€Π΅ΡˆΠ΅Π½Π½Π°Ρ с использованиСм map, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = list(map(lambda x: x**2, a))
>>> print('a = {}\nb = {}'.format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [1, 4, 9, 16, 25, 36, 49]

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° lambda-функция, ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

Π§Π΅Ρ€Π΅Π· списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ эта Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½Π° Ρ‚Π°ΠΊ:

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = [i**2 for i in a]
>>> print('a = {}\nb = {}'. format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [1, 4, 9, 16, 25, 36, 49]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ Π½Π° Π±Π°Π·Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка Π½ΠΎΠ²Ρ‹ΠΉ, состоящий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл:

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = []
>>> for i in a:
        if i%2 == 0:
            b.append(i)
>>> print('a = {}\nb = {}'.format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [2, 4, 6]

РСшим эту Π·Π°Π΄Π°Ρ‡Ρƒ с использованиСм filter:

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = list(filter(lambda x: x % 2 == 0, a))
>>> print('a = {}\nb = {}'.format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [2, 4, 6]

РСшСниС Ρ‡Π΅Ρ€Π΅Π· списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> b = [i for i in a if i % 2 == 0]
>>> print('a = {}\nb = {}'.format(a, b))
a = [1, 2, 3, 4, 5, 6, 7]
b = [2, 4, 6]

Блайсы / Π‘Ρ€Π΅Π·Ρ‹

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

>>> a = [i for i in range(10)]

Блайс задаСтся Ρ‚Ρ€ΠΎΠΉΠΊΠΎΠΉ чисСл, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятой: start:stop:step. Start – позиция с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, stop – конСчная позиция, step – шаг. ΠŸΡ€ΠΈ этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ элСмСнт опрСдСляСмый stop.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

>>> # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ копию списка
>>> a[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ элСмСнтов списка
>>> a[0:5]
[0, 1, 2, 3, 4]
>>> # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты с 3-Π³ΠΎ ΠΏΠΎ 7-ΠΎΠΉ
>>> a[2:7]
[2, 3, 4, 5, 6]
>>> # Π’Π·ΡΡ‚ΡŒ ΠΈΠ· списка элСмСнты с шагом 2
>>> a[::2]
[0, 2, 4, 6, 8]
>>> # Π’Π·ΡΡ‚ΡŒ ΠΈΠ· списка элСмСнты со 2-Π³ΠΎ ΠΏΠΎ 8-ΠΎΠΉ с шагом 2
>>> a[1:8:2]
[1, 3, 5, 7]

Блайсы ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π² Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ слайс – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса slice. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ:

>>> s = slice(0, 5, 1)
>>> a[s]
[0, 1, 2, 3, 4]
>>> s = slice(1, 8, 2)
>>> a[s]
[1, 3, 5, 7]

Π’ΠΈΠΏΠΎ β€œList Comprehensions”… Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈ способ создания списков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса list, Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ написано Π² β€œΠ£Ρ€ΠΎΠΊΠ΅ 15. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹β€œ.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ sys, ΠΎΠ½ Π½Π°ΠΌ понадобится:

>>> import sys

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ :

>>> a = [i for i in range(10)]

ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a:

>>> type(a)
<class 'list'>

ΠΈ посмотрим сколько ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ памяти Π² Π±Π°ΠΉΡ‚Π°Ρ…:

>>> sys. getsizeof(a)
192

Для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ синтаксис Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ для спискового Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅:

>>> b = (i for i in range(10))
>>> type(b)
<class 'generator'>
>>> sys.getsizeof(b)
120

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€˜generator’, ΠΈ Π² памяти ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСста мСньшС, Ρ‡Π΅ΠΌ список, это ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π² памяти хранится вСсь Π½Π°Π±ΠΎΡ€ чисСл ΠΎΡ‚ 0 Π΄ΠΎ 9, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ функция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числа ΠΎΡ‚ 0 Π΄ΠΎ 9. Для Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π½Π΅ сущСствСнна, рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с 10000 элСмСнтами:

>>> c = [i for i in range(10000)]
>>> sys.getsizeof(c)
87624
>>> d = (i for i in range(10000))
>>> sys.getsizeof(d)
120

БСйчас ΡƒΠΆΠ΅ Ρ€Π°Π·Π½ΠΈΡ†Π° сущСствСнна, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠΆΠ΅ поняли, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ количСства чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Если Π²Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΠ±Ρ…ΠΎΠ΄Π° списка, Ρ‚ΠΎΒ  ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ списком ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚:

>>> for val in a:
        print(val, end=' ')
0 1 2 3 4 5 6 7 8 9Β 
>>> for val in b:
        print(val, end=' ')
0 1 2 3 4 5 6 7 8 9

Но с Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ нСльзя Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ со списком: нСльзя ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту ΠΏΠΎ индСксу ΠΈ Ρ‚.ΠΏ.

P.S.

Если Π²Π°ΠΌ интСрСсна Ρ‚Π΅ΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Pandas. На нашСм сайтС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅. ВсС ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Pandas собраны Π² ΠΊΠ½ΠΈΠ³Π΅ β€œPandas. Π Π°Π±ΠΎΡ‚Π° с данными”.

<<< Python. Π£Ρ€ΠΎΠΊ 6. Π Π°Π±ΠΎΡ‚Π° с IPython ΠΈ Jupyter NotebookΒ  Β Python. Π£Ρ€ΠΎΠΊ 8. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ (tuple)Β >>>

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

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ всС ΠΎ списках Python: созданиС списков, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнтов списка, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со списками с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Бписки Python β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими элСмСнтами ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НапримСр,

 # список языков программирования
['Python', 'C++', 'JavaScript'] 

БозданиС списков Python

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

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

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

 # пустой список
мой_список = []
# список со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
my_list = [1, "Hello", 3.4] 

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

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

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка доступа

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

ИндСкс списка

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

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

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

 my_list = ['p', 'r', 'o', 'b', 'e']
# ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт
print(my_list[0]) # p
# Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт
print(my_list[2]) # ΠΎ
# пятый элСмСнт
print(my_list[4]) # e
# Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список
n_list = ["Бчастливый", [2, 0, 1, 5]]
# ВлоТСнная индСксация
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (n_list [0] [1])
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (n_list [1] [3])
# Ошибка! Для индСксации ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΠΎΠ΅ число
print(my_list[4.0]) 

Π’Ρ‹Π²ΠΎΠ΄

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

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

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

 # ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация Π² списках
my_list = ['p','r','o','b','e']
# послСдний элСмСнт
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список [-1])
# пятый послСдний элСмСнт
print(my_list[-5]) 

Π’Ρ‹Π²ΠΎΠ΄

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

РазбиСниС списка на Python

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

 # НарСзка списка Π² Python
my_list = ['p','r','o','g','r','a','m','i','z']
# элСмСнты ΠΎΡ‚ индСкса 2 Π΄ΠΎ индСкса 4
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список [2: 5])
# элСмСнты ΠΎΡ‚ индСкса 5 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список [5:])
# элСмСнты ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
print(my_list[:]) 

Π’Ρ‹Π²ΠΎΠ΄

  ['ΠΎ', 'Π³', 'Ρ€']
['Π°', 'ΠΌ', 'ΠΈ', 'Π·']
['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']  

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс являСтся ΠΈΠ½ΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΌ, Π½ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ. НапримСр, my_list[2: 5] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список с элСмСнтами с индСксами 2, 3 ΠΈ 4, Π½ΠΎ Π½Π΅ с 5.


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнтов списка

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

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

 # Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спискС
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ = [2, 4, 6, 8]
# ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 1-ΠΉ элСмСнт
Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉ [0] = 1
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)
# ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты со 2-Π³ΠΎ Π½Π° 4-ΠΉ
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅[1:4] = [3, 5, 7]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅) 

Π’Ρ‹Ρ…ΠΎΠ΄

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

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

 # Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ списков Π² Python
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ = [1, 3, 5]
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅.Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(7)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)
Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉ.extend([9, 11, 13])
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (нСчСтная) 

Π’Ρ‹Π²ΠΎΠ΄

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

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

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

 # ОбъСдинСниС ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ списков
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ = [1, 3, 5]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ + [9, 7, 5])
print(["re"] * 3) 

Π’Ρ‹Π²ΠΎΠ΄

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

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

 # ДСмонстрация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° list insert()
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ = [1, 9]
Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉ.insert(1,3)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅)
Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅[2:2] = [5, 7]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (нСчСтная) 

Π’Ρ‹Π²ΠΎΠ΄

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

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

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

 # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² списка
my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ элСмСнт
дСл мой_список[2]
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько элСмСнтов
ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠΎΠΉ_список[1:5]
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь список
дСл мой_список
# Ошибка: список Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список) 

Π’Ρ‹Ρ…ΠΎΠ΄

  ['Ρ€', 'Ρ€', 'Π±', 'Π»', 'Π΅', 'ΠΌ']
['Π²Π΅Ρ‡Π΅Ρ€Π°']
Traceback (послСдний послСдний Π²Ρ‹Π·ΠΎΠ²):
  Π€Π°ΠΉΠ» "", строка 18, Π² 
NameError: имя 'my_list' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ  

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

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

И, Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ вСсь список, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ clear() .

 my_list = ['p','r','o','b','l','e','m']
ΠΌΠΎΠΉ_список.ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ('Ρ€')
# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'o', 'b', 'l', 'e', ​​'m']
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
# Π’Ρ‹Π²ΠΎΠ΄: 'ΠΎ'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список.ΠΏΠΎΠΏ (1))
# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'b', 'l', 'e', ​​'m']
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
# Π’Ρ‹Π²ΠΎΠ΄: 'ΠΌ'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список.ΠΏΠΎΠΏ())
# Π’Ρ‹Π²ΠΎΠ΄: ['r', 'b', 'l', 'e']
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
ΠΌΠΎΠΉ_список.ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ()
# Π’Ρ‹Ρ…ΠΎΠ΄: []
print(my_list) 

Π’Ρ‹Π²ΠΎΠ΄

  ['Ρ€', 'ΠΎ', 'Π±', 'Π»', 'Π΅', 'ΠΌ']
ΠΎ
['Ρ€', 'Π±', 'Π»', 'э', 'ΠΌ']
ΠΌ
['Ρ€', 'Π±', 'Π»', 'э']
[]  

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

 >>> my_list = ['p','r','o','b','l','e','m']
>>> мой_список[2:3] = []
>>> мой_список
['Ρ€', 'Ρ€', 'Π±', 'Π»', 'Π΅', 'ΠΌ']
>>> мой_список[2:5] = []
>>> мой_список
['p', 'r', 'm'] 

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

Π’ Python Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² списка.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Описания
Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка
Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ() добавляСт всС элСмСнты списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ список
Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ() вставляСт элСмСнт ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ индСксу
ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ() удаляСт элСмСнт ΠΈΠ· списка
ΠΏΠΎΠΏ() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈ удаляСт элСмСнт с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ индСксом
ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() удаляСт всС элСмСнты ΠΈΠ· списка
индСкс() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ совпавшСго элСмСнта
счСт() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°
сортировка() ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π² спискС ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ
рСвСрс() ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов Π² спискС
ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию списка
 # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² списка Python
мой_список = [3, 8, 1, 6, 8, 8, 4]
# Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Β«Π°Β» Π² ΠΊΠΎΠ½Π΅Ρ†
my_list. append('Π°')
# Π’Ρ‹Π²ΠΎΠ΄: [3, 8, 1, 6, 8, 8, 4, 'Π°']
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список)
# ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ появлСния 8
print(my_list.index(8)) # Π’Ρ‹Π²ΠΎΠ΄: 1
# ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ 8 Π² спискС
print(my_list.count(8)) # Π’Ρ‹Π²ΠΎΠ΄: 3 

ПониманиС списков: элСгантный способ создания списков

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

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

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

 pow2 = [2 ** x for x in range(10)]
print(pow2) 

Π’Ρ‹Π²ΠΎΠ΄

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

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

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

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

 >>> pow2 = [2 ** x для x в диапазонС (10), Ссли x > 5]
>>> pow2
[64, 128, 256, 512]
>>> Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΉ = [x для x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (20), Ссли x % 2 == 1]
>>> странно
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y для x в ['Python','C'] для y в ['Language','Programming']]
['Π―Π·Ρ‹ΠΊ Python', 'ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python', 'Π―Π·Ρ‹ΠΊ C', 'ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C'] 

ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ страницу понимания списка Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС.


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

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° принадлСТности ΠΊ списку

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

 my_list = ['p', 'r', 'o', 'b', 'l', 'e', ​​'m']
# Π’Ρ‹Π²ΠΎΠ΄: Π˜ΡΡ‚ΠΈΠ½Π°
print('p' Π² my_list)
# Π’Ρ‹Π²ΠΎΠ΄: Π›ΠΎΠΆΡŒ
print('a' Π² my_list)
# Π’Ρ‹Π²ΠΎΠ΄: Π˜ΡΡ‚ΠΈΠ½Π°
print('c' Π½Π΅ Π² my_list) 

Π’Ρ‹Π²ΠΎΠ΄

  Π’Π΅Ρ€Π½ΠΎ
Π›ΠžΠ–Π¬
ΠŸΡ€Π°Π²Π΄Π°  

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

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

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

Π’Ρ‹Π²ΠΎΠ΄

  Я люблю яблоко
ΠΌΠ½Π΅ нравится Π±Π°Π½Π°Π½
МнС нравится ΠΌΠ°Π½Π³ΠΎ  

ПониманиС списка Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ списка Python ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ПониманиС списка ΠΈ Ρ†ΠΈΠΊΠ» for Π² Python

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ слова Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ ΠΊΠ°ΠΊ элСмСнты списка. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡƒΠΌ, это использованиС Ρ†ΠΈΠΊΠ»Π° for.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ строки с использованиСм Ρ†ΠΈΠΊΠ»Π° for
 h_letters = []
для письма Π² Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ΅Β»:
    h_letters.append(Π±ΡƒΠΊΠ²Π°)
print(h_letters) 

Когда ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

  ['h', 'u', 'm', 'a', 'n']  

Однако Π² Python Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой способ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ понимания списка. ПониманиС списков β€” это элСгантный способ опрСдСлСния ΠΈ создания списков Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… списков.

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


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ строки с использованиСм понимания списка

 h_letters = [Π±ΡƒΠΊΠ²Π° Π·Π° Π±ΡƒΠΊΠ²ΠΎΠΉ Π² 'Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ΅']
print(h_letters) 

Когда ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

  ['h', 'u', 'm', 'a', 'n']  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΎΠ²Ρ‹ΠΉ список назначаСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ h_letters , ΠΈ список содСрТит элСмСнты ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ строки ‘Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ’. ΠœΡ‹ Π·Π²ΠΎΠ½ΠΈΠΌ функция print() для получСния Π²Ρ‹Π²ΠΎΠ΄Π°.


Бинтаксис понимания списка

[Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для элСмСнта Π² спискС] 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ списков.

Если Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, human β€” это строка, Π° Π½Π΅ список. Π­Ρ‚ΠΎ сила понимания списка. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ ΠΊΠ°ΠΊ со списком.

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


ГСнСрация списков ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ГСнСрация списков β€” Π½Π΅ СдинствСнный способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ списки с мСньшим количСством строк ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3. ИспользованиС лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ List
 letter = list(map(lambda x: x, 'human'))
print(letters) 

Когда ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚

  ['h','u','m','a','n']  

Однако списковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹, Ρ‡Π΅ΠΌ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π›Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Π΅Π³ΠΎ пытался Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ программист, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ списковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.


УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² распознавании списков

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: ИспользованиС if с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ списка
 number_list = [ x вмСсто x Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (20) if x % 2 == 0]
print(number_list) 

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

  [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]  

Бписок , number_list , Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ элСмСнтами Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 19, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта дСлится Π½Π° 2. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (100), Ссли y % 2 == 0, Ссли y % 5 == 0] print(num_list)

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

  [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]  

Π—Π΄Π΅ΡΡŒ список ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ понимания:

  1. Is Ρƒ дСлится Π½Π° 2 ΠΈΠ»ΠΈ Π½Π΅Ρ‚?
  2. ДСлится Π»ΠΈ ΠΈ Π½Π° 5 ΠΈΠ»ΠΈ Π½Π΅Ρ‚?

Если y удовлСтворяСт ΠΎΠ±ΠΎΠΈΠΌ условиям, y добавляСтся ΠΊ num_list .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6: if…else с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ списка
 obj = ["Π§Π΅Ρ‚Π½Ρ‹ΠΉ", Ссли i%2==0 else "НСчСтный" для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (10)]
print(obj) 

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

  ['Π§Π΅Ρ‚Π½Ρ‹ΠΉ', 'НСчСтный', 'Π§Π΅Ρ‚Π½Ρ‹ΠΉ', 'НСчСтный', 'Π§Π΅Ρ‚Π½Ρ‹ΠΉ', 'НСчСтный', 'Π§Π΅Ρ‚Π½Ρ‹ΠΉ', 'НСчСтный', 'Π§Π΅Ρ‚Π½Ρ‹ΠΉ', 'НСчСтный']  

Π—Π΄Π΅ΡΡŒ Π°Π½Π°Π»ΠΈΠ· списка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ 10 чисСл ΠΎΡ‚ 0 Π΄ΠΎ 9. Если i дСлится Π½Π° 2, Ρ‚ΠΎ Π§Π΅Ρ‚Π½ΠΎΠ΅ добавляСтся ΠΊ списку obj . Если Π½Π΅Ρ‚, добавляСтся Odd .


Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ списка

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for. Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала посмотрим, ΠΊΠ°ΠΊ это дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° for.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7. ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с использованиСм Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ²
 транспонировано = []
ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° = [[1, 2, 3, 4], [4, 5, 6, 8]]
для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° [0])):
    транспонированная_строка = []
    для строки Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅:
        transposed_row.append (строка [i])
    transposed.append(transposed_row)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (транспонированиС) 

Π’Ρ‹Π²ΠΎΠ΄

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

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° for для нахоТдСния транспонирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ понимания списка. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с использованиСм Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ понимания списка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 8. ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с использованиСм понимания списка
 matrix = [[1, 2], [3,4], [5,6], [7,8]]
Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ = [[строка [i] для строки Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅] для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (2)]
Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) 

Когда ΠΌΡ‹ запустим ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

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

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ пСрСмСнная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° , которая ΠΈΠΌΠ΅Π΅Ρ‚ 4 строк ΠΈ 2 столбцов. Π½Π°ΠΉΡ‚ΠΈ транспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ . Для этого ΠΌΡ‹ использовали ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка.

**ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ списка Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (2) выполняСтся ΠΏΠ΅Ρ€Π΅Π΄ row[i] для строки Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ . Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, сначала Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ присваиваСтся i , Π·Π°Ρ‚Π΅ΠΌ элСмСнт, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ row[i] , добавляСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ , Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ .


ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ

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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ всС ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°Ρ… Python. Π‘ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠ°ΠΊ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹.

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


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

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

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

 # Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ
# ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ = ()
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ)
# ΠšΠΎΡ€Ρ‚Π΅ΠΆ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
my_tuple = (1, 2, 3)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ)
# ΠΊΠΎΡ€Ρ‚Π΅ΠΆ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
my_tuple = (1, "ΠŸΡ€ΠΈΠ²Π΅Ρ‚", 3.4)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ)
# Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
my_tuple = ("ΠΌΡ‹ΡˆΡŒ", [8, 4, 6], (1, 2, 3))
print(my_tuple) 

Π’Ρ‹Π²ΠΎΠ΄

  ()
(1, 2, 3)
(1, Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β», 3.4)
('ΠΌΡ‹ΡˆΡŒ', [8, 4, 6], (1, 2, 3))  

ΠšΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π΅Π· использования ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. Π­Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

 my_tuple = 3, 4.6, "собака"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ)
# Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° распаковка ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
Π°, Π±, с = ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (Π°) # 3
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π±) # 4. 6
print(c) # собака 

Π’Ρ‹Π²ΠΎΠ΄

  (3, 4.6, «собака»)
3
4.6
dog  

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТно.

Одного элСмСнта Π² скобках нСдостаточно. Нам понадобится запятая Π² ΠΊΠΎΠ½Ρ†Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это, ΠΏΠΎ сути, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

 my_tuple = ("ΠΏΡ€ΠΈΠ²Π΅Ρ‚")
print(type(my_tuple)) # <класс 'str'>
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта
my_tuple = ("ΠΏΡ€ΠΈΠ²Π΅Ρ‚!")
print(type(my_tuple)) # <класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'>
# Π‘ΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹
my_tuple = "ΠΏΡ€ΠΈΠ²Π΅Ρ‚",
print(type(my_tuple)) # <класс 'ΠΊΠΎΡ€Ρ‚Π΅ΠΆ'> 

Π’Ρ‹Ρ…ΠΎΠ΄

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

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

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

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

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ индСкса [] для доступа ΠΊ элСмСнту Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, Π³Π΄Π΅ индСкс начинаСтся с 0.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий 6 элСмСнтов, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ индСксы ΠΎΡ‚ 0 Π΄ΠΎ 5. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° для доступа ΠΊ индСксу Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° индСксов ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° (6,7,… Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅) Π±ΡƒΠ΄Π΅Ρ‚ поднято Ошибка индСкса .

ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом, поэтому ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС TypeError .

Доступ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ индСксирования, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

 # Доступ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с использованиСм индСксации
my_tuple = ('p','e','r','m','i','t')
print(my_tuple[0]) # 'p'
print(my_tuple[5]) # 'Ρ‚'
# IndexError: индСкс списка Π²Π½Π΅ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
# Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (my_tuple[6])
# ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом
# TypeError: индСксы списка Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, Π° Π½Π΅ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой
# my_tuple[2.0]
# Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
n_tuple = ("ΠΌΡ‹ΡˆΡŒ", [8, 4, 6], (1, 2, 3))
# Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ индСкс
print(n_tuple[0][3]) # 's'
print(n_tuple[1][1]) # 4 

Π’Ρ‹Ρ…ΠΎΠ΄

  Ρ€
Ρ‚
с
4  

2.

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

Python допускаСт ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС своих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

ИндСкс -1 относится ΠΊ послСднСму элСмСнту, -2 ΠΊ прСдпослСднСму элСмСнту ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

 # ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация для доступа ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
my_tuple = ('p', 'e', ​​'r', 'm', 'i', 't')
# Π’Ρ‹Π²ΠΎΠ΄: 'Ρ‚'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [-1])
# Π’Ρ‹Π²ΠΎΠ΄: 'Ρ€'
print(my_tuple[-6]) 

Π’Ρ‹Π²ΠΎΠ΄

  Ρ‚
стр  

3. НарСзка

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ряду элСмСнтов Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° срСза : .

 # Доступ ΠΊ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Ρ€Π΅Π·ΠΊΠΈ
my_tuple = ('p','r','o','g','r','a','m','i','z')
# элСмСнты со 2-Π³ΠΎ ΠΏΠΎ 4-ΠΉ
# Π’Ρ‹Π²ΠΎΠ΄: ('r', 'o', 'g')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [1: 4])
# элСмСнты, начиная со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ
# Π’Ρ‹Π²ΠΎΠ΄: ('p', 'r')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [: -7])
# элСмСнты с 8-Π³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
# Π’Ρ‹Π²ΠΎΠ΄: ('i', 'z')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [7:])
# элСмСнты ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
# Π’Ρ‹Π²ΠΎΠ΄: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ [:]) 

Π’Ρ‹Ρ…ΠΎΠ΄

  ('Ρ€', 'ΠΎ', 'Π³')
('ΠΏ', 'Ρ€')
(«я», «з»)
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')  

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

НарСзка элСмСнтов Π² Python

ИзмСнСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы.

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

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ Ρ€Π°Π·Π½Ρ‹Π΅ значСния (ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅).

 # ИзмСнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
my_tuple = (4, 2, 3, [6, 5])
# TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ присваиваниС элСмСнтов
# my_tuple[1] = 9
# Однако элСмСнт измСняСмого элСмСнта ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ
my_tuple[3][0] = 9 # Π’Ρ‹Π²ΠΎΠ΄: (4, 2, 3, [9, 5])
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ)
# ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
# Π’Ρ‹Π²ΠΎΠ΄: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (my_tuple) 

Π’Ρ‹Ρ…ΠΎΠ΄

  (4, 2, 3, [9, 5])
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')  

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

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

ОбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + ΠΈ * приводят ΠΊ созданию Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

 # ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ
# Π’Ρ‹Π²ΠΎΠ΄: (1, 2, 3, 4, 5, 6)
Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ((1, 2, 3) + (4, 5, 6))
# ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅
# Π’Ρ‹Π²ΠΎΠ΄: ('ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ', 'ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ', 'ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ(("ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ",) * 3) 

Π’Ρ‹Ρ…ΠΎΠ΄

  (1, 2, 3, 4, 5, 6)
(Β«ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒΒ», Β«ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒΒ», Β«ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒΒ»)  

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

Как ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

Однако ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова del.

 # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
# Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты
# TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'tuple' Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта
# del my_tuple[3]
# МоТно ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΡ€Ρ‚Π΅ΠΆ
del my_tuple
# NameError: имя 'my_tuple' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_ΠΊΠΎΡ€Ρ‚Π΅ΠΆ) 

Π’Ρ‹Ρ…ΠΎΠ΄

  Врассировка (послСдний послСдний Π²Ρ‹Π·ΠΎΠ²):
  Π€Π°ΠΉΠ» "", строка 12, Π² 
NameError: имя 'my_tuple' Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ  

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ добавлСния ΠΈΠ»ΠΈ удалСния элСмСнтов нСдоступны для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°. Доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Python:

 my_tuple = ('a', 'p', 'p', 'l', 'e',)
print(my_tuple.count('p')) # Π’Ρ‹Π²ΠΎΠ΄: 2
print(my_tuple.index('l')) # Π’Ρ‹Π²ΠΎΠ΄: 3 

Π’Ρ‹Ρ…ΠΎΠ΄

  2
3  

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ

1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° принадлСТности ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

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

 # ВСст Π½Π° члСнство Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
my_tuple = ('Π°', 'Ρ€', 'Ρ€', 'Π»', 'Π΅',)
# Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
print('a' Π² my_tuple)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ('b' Π² my_tuple)
# НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
print('g' Π½Π΅ Π² my_tuple) 

Π’Ρ‹Π²ΠΎΠ΄

  Π’Π΅Ρ€Π½ΠΎ
Π›ΠžΠ–Π¬
ΠŸΡ€Π°Π²Π΄Π°  

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

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

 # ИспользованиС Ρ†ΠΈΠΊΠ»Π° for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
для ΠΈΠΌΠ΅Π½ΠΈ Π² ("Π”ΠΆΠΎΠ½", "ΠšΠ΅ΠΉΡ‚"):
    print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚", имя) 

Π’Ρ‹Π²ΠΎΠ΄

  ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Π”ΠΆΠΎΠ½
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠšΠ΅ΠΉΡ‚  

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΏΠ΅Ρ€Π΅Π΄ списком

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

  • ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ для Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… (Ρ€Π°Π·Π½Ρ‹Ρ…) Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ списки для ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… (ΠΏΠΎΡ…ΠΎΠΆΠΈΡ…) Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ нСизмСняСмы, итСрация ΠΏΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ выполняСтся быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎ списку. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΅ΡΡ‚ΡŒ нСбольшой прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ, содСрТащиС нСизмСняСмыС элСмСнты, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° для словаря. Π‘ΠΎ списками это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
  • Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, рСализация ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ останутся Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ записи.

Бписки Python — GeeksforGeeks

Бписки Python Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ массивам с динамичСским Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках (vector Π² C++ ΠΈ ArrayList Π² Java). На простом языкС список β€” это Π½Π°Π±ΠΎΡ€ элСмСнтов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² [ ] ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми.

Бписок прСдставляСт собой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ строки β€” это Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ списка Π² Python

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаСм Python List , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ [].

Python3

Var = [ "Geeks" , "for" , "Geeks" ]

print (Var )

Π’Ρ‹Π²ΠΎΠ΄:

 ["Π“ΠΈΠΊΠΈ", "для", "Π“ΠΈΠΊΠΈ"] 

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

БозданиС списка в Python

Бписки Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, просто помСщая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки []. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ΠΎΠ², списку Π½Π΅ Π½ΡƒΠΆΠ½Π° встроСнная функция для создания списка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ΠΎΠ², список ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ измСняСмыС элСмСнты. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка Π² Python0012 []

print ( "Blank List: " )

print ( List )

Β  Β 

List = [ 10 , 20 , 14 ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( "\ nlist ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²:" ) ( "\ nlist:0012 ( List )

Β  Β 

List = [ "Geeks" , "For" , "Geeks" ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( "\ nlist. 0012 Бписок [ 2 ])

Π’Ρ‹Ρ…ΠΎΠ΄

 ΠŸΡƒΡΡ‚ΠΎΠΉ список:
[]

Бписок Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²:
[10, 20, 14]

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка:
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ
 
БлоТности для создания списков

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(n)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка с нСсколькими ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ элСмСнтами

Бписок ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ с ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ позициями ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎ врСмя создания списка.

Python3

List = [ 1 , 2 , 4 , 4 , 3 , 3 , 3 , 6 , 5 ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( Β»\ nlist с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ( " \ nlist с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ( "\ nlist с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ( " \ nlist с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ( "\ nlist с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ( ". 0838 print ( List )

Β  Β 

List = [ 1 , 2 , 'Geeks' , 4 , 'для' , 6 , 'Geeks' ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ (

2 "\ nlist с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ" (

2 ".0013

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок )

Π’Ρ‹Π²ΠΎΠ΄

3

Бписки с использованиСм Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²: [1, 2, 4, 4, 3, 3, 3, 6, 5] Бписок с использованиСм ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [1, 2, "Π“ΠΈΠΊΠΈ", 4, "Для", 6, "Π“ΠΈΠΊΠΈ"]

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

Для доступа ΠΊ элСмСнтам списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ порядковый Π½ΠΎΠΌΠ΅Ρ€. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ индСкса [ ] для доступа ΠΊ элСмСнту Π² спискС. ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом. Доступ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ спискам осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ индСксации.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Доступ ΠΊ элСмСнтам ΠΈΠ· списка

Python3

List = [ = [ " = [ " = [ " = [ " = [ " Β«Π’ΡƒΠ½Π΄Π΅Ρ€ΠΊΠΈΠ΄Ρ‹Β» ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( »Доступ ΠΊ элСмСнту ΠΈΠ· списка )

. 0012 List [ 0 ])

print ( List [ 2 ])

Output

 Accessing a element from the список
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ
Geeks 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Доступ ΠΊ элСмСнтам ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ списка

Python3

Бписок = [[ 0012 'Geeks' , 'для' ], [ 'Geeks' ]]

. Β« )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок [ 0 ] [ 1 ])

1 ])

1 ]))0013 ][ 0 ])

Π’Ρ‹Π²ΠΎΠ΄

 Доступ ΠΊ элСмСнту ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ списка
Π—Π°
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ 

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

Π’ Python индСксы ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ с ΠΊΠΎΠ½Ρ†Π° массива. ВмСсто вычислСния смСщСния, ΠΊΠ°ΠΊ Π² List[len(List)-3], достаточно просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ List[-3]. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ индСксация ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ с ΠΊΠΎΠ½Ρ†Π°, -1 относится ΠΊ послСднСму элСмСнту, -2 относится ΠΊ прСдпослСднСму элСмСнту ΠΈ Ρ‚. Π΄.

Python3

List = [ 1 , 2 , 'Geeks' , 4 , 'For' , 6 , 'Geeks' ]

Β  Β 

print ( "Accessing element using negative indexing" )

Β  Β 

print ( List [ - 1 ])

Β  Β 

print ( List [ - 3 ])

Π’Ρ‹Ρ…ΠΎΠ΄

 Доступ ΠΊ элСмСнту с использованиСм ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ индСксации
ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ
Для 
БлоТности доступа ΠΊ элСмСнтам Π² списках:

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка Python

Python len() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Π΄Π»ΠΈΠ½Ρ‹ списка.

Python3

List1 = []

print ( len (List1))

Β  Β 

List2 = [ 10 , 20 , 14 ]

print ( len (List2))

Output

 0
3 

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° списка Python

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ списка элСмСнтов Π² Π²ΠΈΠ΄Π΅ строки, Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈ Ρ‚. Π΄. Но ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строка.

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

Python3

Β  Β 

string = input ( "Enter elements (Space-Separated): " )

Β  Β 

lst = string .split ()

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( 'Бписок:' , LST)

Π’Ρ‹Ρ…ΠΎΠ΄:

.
Бписок: ['Π’Π£ΠœΠΠ˜ΠšΠ˜', 'ЗА', 'Π’Π£Π”Π˜Π’ΠžΠ Π«'] 

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

Python

N = INT ( Π’Ρ…ΠΎΠ΄ ( ( ( ( ( ( ( ( . lst = list ( map ( int , input ("Enter the integer\

elements:").strip().split() ))[:n]

Β  Β 

print ( 'The list is:' , lst)Β Β Β 

Output:

 Enter the size of list : 4
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ†Π΅Π»Ρ‹Π΅ элСмСнты: 6 3 9 10
Бписок: [6, 3, 9, 10] 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, см. это.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² список Python

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append()

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

Python3

Β  Β 

Бписок = []

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( "ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ список пустых:" )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( ( . .append( 1 )

List .append( 2 )

List .append( 4 )

print ( "\nList after Addition of Three elements: " )

print ( List )

Β  Β 

for i in Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ( 1 , 4 ):

Бписок . Append (I) 9003 8 . Append (I)

. 1-3: " )

print ( List )

Β  Β 

List .append(( 5 , 6 ))

print ( "\nList after Addition of a Tuple: " )

print ( List )

Β  Β 

List2 = [ 'для' , 'Geeks' ]

Бписок . Append (List2) 9003 888899913. Бписок: « )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок )

Π’Ρ‹Ρ…ΠΎΠ΄

.
[]

Бписок послС добавлСния Ρ‚Ρ€Π΅Ρ… элСмСнтов:
[1, 2, 4]

Бписок послС добавлСния элСмСнтов с 1 ΠΏΠΎ 3:
[1, 2, 4, 1, 2, 3]

Бписок послС добавлСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°:
[1, 2, 4, 1, 2, 3, (5, 6)]

Бписок послС добавлСния списка:
[1, 2, 4, 1, 2, 3, (5, 6), ['Для', 'Π“ΠΈΠΊΠΈ']] 
БлоТности добавлСния элСмСнтов Π² списки (ΠΌΠ΅Ρ‚ΠΎΠ΄ append()):

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: O(1)

S Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠΏΠ°: O(1)

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° insert()

ΠœΠ΅Ρ‚ΠΎΠ΄ append()

Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для добавлСния элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† списка, для добавлСния элСмСнтов Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ insert(). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ append(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΌΠ΅Ρ‚ΠΎΠ΄ insert() Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (позиция, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅).

Python3

Β Β  Β 

List = [ 1 , 2 , 3 , 4 ]

print ( Β«ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ список:Β» )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок )

.

.0013 3 , 12 )

List .insert( 0 , 'Geeks' )

print ( "\nList after Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вставки: Β« )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок )

Π’Ρ‹Ρ…ΠΎΠ΄

9966  

Π’Ρ‹Ρ…ΠΎΠ΄

9 
9  

9 9008

9 
9 
9 
9 
9 
9 
9 
9 
9  . 
[1, 2, 3, 4]

Бписок послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вставки:
['Π“ΠΈΠΊΠΈ', 1, 2, 3, 12, 4] 
БлоТности добавлСния элСмСнтов Π² списки (ΠΌΠ΅Ρ‚ΠΎΠ΄ вставки()):

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(n)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° extend()

Помимо ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² append() ΠΈ insert(), Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ для добавлСния элСмСнтов, extend() , этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ добавлСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† списка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ append() ΠΈ extend() ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅.

Python3

Β  Β 

List = [ 1 , 2 , 3 , 4 ]

print ( "Initial List: " )

print ( List )

Β  Β 

List . Extend ([ 8 , 'Geeks' , 'ВсСгда' ]

Printing (

.

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( Бписок )

Π’Ρ‹Ρ…ΠΎΠ΄

3 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ список:
[1, 2, 3, 4]

Бписок послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ:
[1, 2, 3, 4, 8, Β«Π“ΠΈΠΊΠΈΒ», «ВсСгда»] 
БлоТности добавлСния элСмСнтов Π² списки (ΠΌΠ΅Ρ‚ΠΎΠ΄ extend()):

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(n)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ списка

Бписок ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reverse() Π² Python.

Python3

mylist = [ 1 , 2 , 3 , 4 , 5 , 'Geek' , 'Python' ]

mylist. reverse()

print (mylist)

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

 ['Python', 'Geek', 5, 4, 3, 2, 1] 

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈΠ· списка

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° remove()

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ remove() , Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, Ссли элСмСнт Π½Π΅ сущСствуСт Π² спискС. ΠœΠ΅Ρ‚ΠΎΠ΄ Remove() удаляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт Π·Π° Ρ€Π°Π·, для удалСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠœΠ΅Ρ‚ΠΎΠ΄ remove() удаляСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠœΠ΅Ρ‚ΠΎΠ΄ Remove Π² спискС ΡƒΠ΄Π°Π»ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ искомого элСмСнта.

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

Python3

Β  Β 

Бписок = [ 1 , 2 , 3 , 4 , 5 , 6 ,

Β Β Β Β Β Β Β Β  7 , 8 , 9 , 10 , 11 , 12 ]

print ( "Initial List: " )

print ( List )

Β  Β 

List . remove( 5 )

List .remove( 6 )

print ( "\nList after Removal of two elements: " )

print ( List )

Π’Ρ‹Ρ…ΠΎΠ΄

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ список:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Бписок послС удалСния Π΄Π²ΡƒΡ… элСмСнтов:
[1, 2, 3, 4, 7, 8, 9, 10, 11, 12] 

Example 2:

Python3

List = [ 1 , 2 , 3 , 4 , 5 , 6 ,

Β Β Β Β Β Β Β Β  7 , 8 , 9 , 10 , 11 , 12 ]

для I Π² Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ( 1 , 5 ):

):

). 0003

print ( "\nList after Removing a range of elements: " )

print ( List )

Output

 List послС удалСния ряда элСмСнтов:
[5, 6, 7, 8, 9, 10, 11, 12] 
БлоТности удалСния элСмСнтов Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Lists(remove()):

ВрСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(n)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

Бпособ 2: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° pop()

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ pop() Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для удалСния ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° элСмСнта ΠΈΠ· списка, Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½Π° удаляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний элСмСнт списка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ списка, индСкс элСмСнта пСрСдаСтся Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ pop(). Бписок = 0013 3 , 4 , 5 ]

Бписок : " )

print ( List )

Β  Β 

List . pop( 2 )

print ( "\ nlist послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠ°Π» ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт:" )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( List )

4 )

4 )

4 ). [1, 2, 3, 4] Бписок послС извлСчСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта: [1, 2, 4]

БлоТности удалСния элСмСнтов Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Lists(pop()):

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: O(1)/O(n) (O(1) для удалСния послСднСго элСмСнта, O(n) для удалСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ срСднСго элСмСнтов)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: O(1)

НарСзка списка

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подстроки ΠΈ подсписки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСз. Π’ Python List Π΅ΡΡ‚ΡŒ нСсколько способов Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ вСсь список со всСми элСмСнтами, Π½ΠΎ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° элСмСнтов ΠΈΠ· списка ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Slice.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ срСза выполняСтся Π² списках с использованиСм двоСточия (:).

Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

[: Index]

Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ использования:

[:-Index]

Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ индСкса Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ использования порядок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅Β 

[::-1]

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅Β β€“ . Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ элСмСнты списка ΠΈΠ· Π·Π°Π΄Π½Π΅ΠΉ части, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы.

Β 

ΠŸΠžΠΠ˜ΠœΠΠΠ˜Π• Π ΠΠ—Π‘Π˜Π’ΠšΠ˜ Π‘ΠŸΠ˜Π‘ΠšΠžΠ’:

  • pr[0] доступ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту, 2.
  • pr[-4] доступ ΠΊ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌΡƒ элСмСнту с ΠΊΠΎΠ½Ρ†Π°, 5.
  • pr[2:] доступ ΠΊ [5, 7, 11, 13], список элСмСнтов с Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠΎ послСдний.
  • pr[:4] обращаСтся ΠΊ [2, 3, 5, 7], список элСмСнтов с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠΎ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ.
  • pr[2:4] обращаСтся ΠΊ [5, 7], список элСмСнтов с Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠΎ пятый.
  • pr[1::2] обращаСтся ΠΊ [3, 7, 13], Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты, начиная со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта.

Python3

Β  Β 

Бписок = [ 'G' , 'E' , 'E' , 'K' , 'S' , 'F ' ,

         'O' , 'R' , 'G' , 'E' , 'E' , «К» , «Б» ]

print ( "Initial List: " )

print ( List )

Β  Β 

Sliced_List = List [ 3 : 8 ]

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ( "\ nslicing elements Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 3-8:" )

: " )

:" ). 0013

Β  Β 

Sliced_List = List [ 5 :]

print ( "\nElements sliced ​​from 5th "

Β Β Β Β Β Β  "element Π”ΠΎ ΠΊΠΎΠ½Ρ†Π°: Β« )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ (Π½Π°Ρ€Π΅Π·ΠΊΠ°_листа)

НарСзанный Π½Π° скольТСнии_ст = [:] = [:] = 0013

print ( "\nPrinting all elements using slice operation: " )

print (Sliced_List)

Output

 Initial List:
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', ' Π‘']

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π°Ρ€Π΅Π·ΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 3-8:
['К', 'Б', 'Ѐ', 'О', 'Р']

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π°Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ 5-Π³ΠΎ элСмСнта Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°:
['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ всСх элСмСнтов с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ срСза:
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', ' Π‘'] 

Negative index List slicing

Python3

List = [ 'G' , 'E' , 'E' , ' K' , 'S' , 'F' ,

Β Β Β Β Β Β Β Β  'O' , 'R' , 'G' , "Π•" , 'E' , 'K' , 'S' ]

print ( "Initial List: " )

print ( List )

Β  Β 

Sliced_List = List [: - 6 ]

print ( "\nElements sliced Π΄ΠΎ 6-Π³ΠΎ элСмСнта ΠΎΡ‚ послСднСго: " )

print (Sliced_List)

Β  Β 

Sliced_List = List [ - 6 : - 1 ]

print ( "\nElements sliced ​​from index -6 to -1" )

print (Sliced_List)

Β  Β 

SCADICE_LIST = БПИБОК [:: - 1 ]

ПРИНАНИЯ (

2 "nprint (Sliced_List)

Π’Ρ‹Ρ…ΠΎΠ΄

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ список:
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', ' Π‘']

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π°Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ Π΄ΠΎ 6-Π³ΠΎ элСмСнта ΠΎΡ‚ послСднСго:
['Π“', 'Π•', 'Π•', 'К', 'Π‘', 'Π€', 'О']

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π°Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ индСкса -6 Π΄ΠΎ -1
['Π ', 'Π“', 'Π•', 'Π•', 'К']

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ списка Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС:
['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', ' Π“'] 

ПониманиС списков

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

Бинтаксис:

newList = [Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (элСмСнт) для элСмСнта Π² oldList, Ссли условиС]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Β 

Python3

Β  Β 

odd_square = [x * * 2 for x in range ( 1 , 11 ) if x % 2 = = 1 ]

print (odd_square)

Output

 [1, 9, 25, 49, 81] 

For better understanding, the above code is similar to as follows:Β 

Python3

odd_square = []

Β  Β 

for x in range ( 1 , 11 ):

Β Β Β Β  if x % 2 = = 1 :

Β Β Β Β Β Β Β Β  odd_square. append(x * * 2 )

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ (ODD_SQUARE)

Π’Ρ‹Ρ…ΠΎΠ΄

 [1, 9, 4938  

 [1, 9, 4938  

 [1, 9, 4938  

 [1, 

 [1, 

. ПониманиС списка. 

  • ПониманиС списков Python ΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠ°
  • ПониманиС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков Π² Python
  • ПониманиС списков ΠΈ ord() Π² Python

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ списка Python

  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Python для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ послСднСго элСмСнтов Π² спискС 9046 Python 9046 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Π·Π°ΠΌΠ΅Π½Ρ‹ Π΄Π²ΡƒΡ… элСмСнтов Π² спискС
  • Python – Π—Π°ΠΌΠ΅Π½Π° элСмСнтов Π² спискС строк
  • Python | Бпособы опрСдСлСния Π΄Π»ΠΈΠ½Ρ‹ списка
  • ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ Π΄Π²ΡƒΡ… чисСл Π² Python
  • Minimum of two numbers in Python

To Practice the basic list operation, please read this article – Python List of program

List Methods

Function Description
Append() Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка
Extend() Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС элСмСнты списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ список
Insert() Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ индСксу
Remove() Removes an item from the list
Clear() Removes all items from the list
Index() Returns the index of the first matched item
Count() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°
Sort() Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов Π² спискС ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ список
copy() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию списка

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ – ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списка Python

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, упомянутыС Π²Ρ‹ΡˆΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ сам список.

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ со списком

()
Ѐункция ОписаниС
reduce() примСняСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ Π² Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊΠΎ всСм элСмСнтам списка ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ суммирования
sum() Π‘ΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚ числа Π² спискС
ord() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Unicode Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ символа Unicode 1, Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ список «большС», Ρ‡Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ список
max() Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ списка
min() Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ списка
all() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли всС элСмСнты истинны ΠΈΠ»ΠΈ Ссли список пуст. Ссли список пуст, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ false
len() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ списка ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ списка
ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка
9 Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ Π² Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊΠΎ всСм элСмСнтам списка Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список, содСрТащий ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹
filter() провСряСт ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта списка
map() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² послС примСнСния Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π΄Π°Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ lambda() Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСтся ΠΈ возвращаСтся.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ послСдниС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² Lists

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки: Β 

  • ПослСдниС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Python List
  • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Python
  • Вопросы с нСсколькими Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²
  • ВсС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Python

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ скобки a Π² Python , ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ list(), создайтС пустой список с ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка. Π‘Π°ΠΌΡ‹ΠΉ распространСнный способ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список Π² Python β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.


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

Найди свой ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ Π»Π°Π³Π΅Ρ€ΡŒ

  • Career Karma ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅Ρ‚ для тСбя Π»ΡƒΡ‡ΡˆΠΈΠ΅ тСхнологичСскиС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ курсы
  • Доступ ΠΊ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΌ стипСндиям ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ курсам

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ вас вопрос
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡΠ”ΠΈΠ·Π°ΠΉΠ½ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· данныхАналитика Π΄Π°Π½Π½Ρ‹Ρ…ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈUX-Π΄ΠΈΠ·Π°ΠΉΠ½ΠšΠΈΠ±Π΅Ρ€Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΠ¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π˜ΠΌΡ

Ѐамилия

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими Условиями обслуТивания ΠΈ ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ прСдлоТСния ΠΈ возмоТности ΠΎΡ‚ Career Karma ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ, тСкстовым сообщСниям ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Когда Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со списками, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Python? Или, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами: ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список Python?

Π­Ρ‚ΠΎΡ‚ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π½Π° этот вопрос ΠΈ расскаТСт ΠΎ способах ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ списка Π² Python. ΠœΡ‹ рассмотрим основы списков ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ с ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками, list(), ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка.

ОбновлСниС списков Python

Бписки содСрТат ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС называСтся элСмСнтом . Бписки часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ массивами Python.

Π’ Python элСмСнты списка Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми, Π° сам список Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ списка Π½Π° Python:

 jobs = [Β«Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-программист», Β«Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ», «Аналитик Π΄Π°Π½Π½Ρ‹Ρ…Β»] 

Наш список содСрТит Ρ‚Ρ€ΠΈ значСния: Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-программист, Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Аналитик Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° наш список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Β«jobsΒ», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ объявили Π²Ρ‹ΡˆΠ΅.

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

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΠΌΠ΅Ρ‚ΠΎΠ΄ list(), ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка.

ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ пустой список ΠΈΠ»ΠΈ список, содСрТащий Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠœΠ΅Ρ‚ΠΎΠ΄ list() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π₯отя Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈ список элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° list(), Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния.

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

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список Python: ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ list() для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пустого списка Π² Python. Для Ρ†Π΅Π»Π΅ΠΉ этого руководства ΠΌΡ‹ сосрСдоточимся Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ list() для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пустого списка.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой список Π±Π΅Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° способа ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ свой список. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список Π±Π΅Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡƒΠΊΠ°Π·Π°Π² Π½Π°Π±ΠΎΡ€ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ синтаксиса:

 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСст = []
print(jobs) 

Наш ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: [].

ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой пустой список.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΡ… Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки:

 jobs = ['Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-программист', 'Аналитик Π΄Π°Π½Π½Ρ‹Ρ…'] 

ΠœΡ‹ объявили ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка с двумя Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями: Β«Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-программист» ΠΈ Β« Аналитик Π΄Π°Π½Π½Ρ‹Ρ…".

Python Create List: ΠΌΠ΅Ρ‚ΠΎΠ΄ list()

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой список Π² Python Π±Π΅Π· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ list() ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° list() Π² дСйствии:

 job = list()
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (список)
 

Наш ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚: [].

Оба этих ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚: пустой список. НС сущСствуСт стандартов, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· этих ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с пустыми ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками ([]), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π΅Π½.

Python Declare List: ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка

Одним ΠΈΠ· способов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ списка с нСсколькими значСниями являСтся ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ количСством ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π˜Ρ‚Π°ΠΊ, допустим, ΠΌΡ‹ создаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая просит нас Π½Π°Π·Π²Π°Ρ‚ΡŒ 10 Π½Π°ΡˆΠΈΡ… самых Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… ΠΊΠ½ΠΈΠ³. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 favourite_books = [''] * 10
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅_ΠΊΠ½ΠΈΠ³ΠΈ)
 

Наш ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚:

 ['', '', '', '', '', '', '', '', '', ''] 

Наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создала список, содСрТащий 10 цСнности.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ наш ΠΊΠΎΠ΄. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ синтаксис умноТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список ΠΈΠ· 10 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² этом спискС, β€” «», ΠΈΠ»ΠΈ пустая строка. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python print() для Π²Ρ‹Π²ΠΎΠ΄Π° нашСго списка Π½Π° консоль.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот синтаксис для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ списка Π»ΡŽΠ±Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ. Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш список начинался с 10 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π²Π½Ρ‹Ρ… , Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ. ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 favourite_books = ['Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.'] * 10
print(favorite_books) 

Когда ΠΌΡ‹ выполняСм наш ΠΊΠΎΠ΄, ΠΌΡ‹ создаСм список с 10 значСниями. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² спискС Ρ€Π°Π²Π½ΠΎ Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ. . Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ этот список Π² консоль:

 ['Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ. .', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.'] 

Бписок объявлСний Python: пониманиС списка

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

"ΠšΠ°Ρ€ΠΌΠ° ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ вошла Π² мою Тизнь, ΠΊΠΎΠ³Π΄Π° я большС всСго Π² Π½Π΅ΠΉ Π½ΡƒΠΆΠ΄Π°Π»Π°ΡΡŒ, ΠΈ быстро ΠΏΠΎΠΌΠΎΠ³Π»Π° ΠΌΠ½Π΅ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π½Π° Π±ΡƒΡ‚ΠΊΠ΅ΠΌΠΏ. Π§Π΅Ρ€Π΅Π· Π΄Π²Π° мСсяца послС выпуска я нашла Ρ€Π°Π±ΠΎΡ‚Ρƒ своСй ΠΌΠ΅Ρ‡Ρ‚Ρ‹, которая соотвСтствовала ΠΌΠΎΠΈΠΌ цСнностям ΠΈ цСлям Π² ΠΆΠΈΠ·Π½ΠΈ!"

Π’Π΅Π½Π΅Ρ€Π°, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-программист Rockbot

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ понимания списка. ПониманиС списков Python относится ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ списком ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ range() ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков β€” ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ опрСдСлСния списка Π½Π° основС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ элСгантный, простой ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстный.

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΈΠ· 10 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π²Π½Ρ‹Ρ… Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ. , ΠΊΠ°ΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это со списком, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 favourite_books = ['Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.' для я Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (10)]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅_ΠΊΠ½ΠΈΠ³ΠΈ)
 

Наш ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚:

 ['Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ. ', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.' , 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.', 'Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ.'] 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка для создания списка. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ понимания списка - это для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (10) ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ повторяСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ. Π² Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· большС.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки Π² Python ΠΊΠ°ΠΊ профСссионал!

ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ нашС руководство How to Learn Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ языкС программирования Python.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список Python Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n? – Finxter

ΠšΡ€ΠΈΡΠ°

5/5 - (3 голоса)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΈΠ· n элСмСнтов-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΡƒΠΌΠ½ΠΎΠΆΡŒΡ‚Π΅ список ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта-заполнитСля Π½Π° n . НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ [НСт] * 5 , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список [НСт, НСт, НСт, НСт, НСт] с ΠΏΡΡ‚ΡŒΡŽ элСмСнтами НСт . Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ элСмСнты присвоСниСм индСкса. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ lst[2] = 42 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ измСнСнию списка [None, None, 42, None, None] .

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список Python Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n?


ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ это Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΈΠ³Ρ€Π°Π΅ΠΌ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅!

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ : Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ n = 20 элСмСнтов-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ -1 ΠΈ запуститС ΠΊΠΎΠ΄.


Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΈ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² пошаговоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π—Π°Π΄Π°Ρ‡Π° : Π·Π°Π΄Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число n . Как ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список с элСмСнтами-заполнитСлями n ?

 # n=0 --> []
# n=1 --> [НСт]
# n=5 --> [НСт, НСт, НСт, НСт, НСт] 

РСшСниС . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ объСдинСния списков * .

 n = 5
лст = [НСт] * ΠΏ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# [НСт, НСт, НСт, НСт, НСт] 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнт n ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… опСрациях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС элСмСнты списка-заполнитСля None , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ простыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания индСкса:

 lst[0] = 'Alice'
лст[1] = 0
лст[2] = 42
лст[3] = 12
lst[4] = 'ΠΏΡ€ΠΈΠ²Π΅Ρ‚'
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# ['Алиса', 0, 42, 12, 'ΠΏΡ€ΠΈΠ²Π΅Ρ‚'] 

Однако Π΅ΡΡ‚ΡŒ нСбольшая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список с измСняСмыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, список списков):

 лст = [[]] * ΠΏ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# [[], [], [], [], []]
лст[2]. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(42)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# [[42], [42], [42], [42], [42]] 

ИзмСнСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта списка измСняСт всС элСмСнты списка, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС элСмСнты списка ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка Π² памяти:

РСшСниС Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списков (ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство см. Π² ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌ руководствС Π² Π±Π»ΠΎΠ³Π΅ ΠΏΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡŽ списков):

 lst = [[] for _ in range(n)]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# [[], [], [], [], []]
лст[2].Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(42)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (слСва)
# [[], [], [42], [], []] 

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ссылаСтся Π½Π° нСзависимый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка Π² памяти:

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ : ЗапуститС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт! ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Ρ‚Π°ΠΊ?

Достаточно Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ попрактикуСмся!

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ платят ΡˆΠ΅ΡΡ‚ΠΈΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ суммы ΠΈ большС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ большСго успСха Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ€Π΅ΡˆΠ°ΠΉΡ‚Π΅ большС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ для Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… людСй. Π’Π°ΠΊ Π²Ρ‹ ΠΎΡ‚Ρ‚Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², какая польза ΠΎΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ обучСния, которая Π½ΠΈΠΊΠΎΠΌΡƒ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½Π°?

Π’Ρ‹ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚Π΅ Ρ†Π΅Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ кодирования, работая Π½Π°Π΄ практичСскими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ!

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ³Ρ€ΡƒΡˆΠ΅Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° практичСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приносят Π²Π°ΠΌ дСньги ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для людСй?

πŸš€ Если ваш ΠΎΡ‚Π²Π΅Ρ‚ ДА! , ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ Π²Π½Π΅ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Python! Π­Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ владСния Python, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ совсСм Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ.

Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ возмоТностях фриланса, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠΎΠΉ бСсплатный Π²Π΅Π±-сСминар «Как Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ высокодоходного PythonΒ» ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ я Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽ свой бизнСс Π² сфСрС программирования Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” Π½Π΅ выходя ΠΈΠ· Π΄ΠΎΠΌΠ°.