πŸ”Ž Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ array Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

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

массив = [элСмСнт1, элСмСнт2, элСмСнт3]

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнтам массива ΠΏΠΎ ΠΈΡ… индСксам, начиная с 0:

print(массив[0])  # Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния элСмСнтов массива, присваивая Π½ΠΎΠ²Ρ‹Π΅ значСния ΠΏΠΎ ΠΈΡ… индСксам:

массив[1] = Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅  # измСняСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт массива

Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ:

  • len(массив) - Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ массива
  • массив.append(элСмСнт) - добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† массива
  • массив.remove(элСмСнт) - удаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· массива

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ массив Π² Python!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ массив (array) Π² Python?

Массив (array) Π² Python - это структура Π΄Π°Π½Π½Ρ‹Ρ…, которая позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… инструмСнтов программирования, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большим количСством Π΄Π°Π½Π½Ρ‹Ρ….

БозданиС массива (array)

Для создания массива Π² Python сущСствуСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ array. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:


import array
    

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив, ΡƒΠΊΠ°Π·Π°Π² Ρ‚ΠΈΠΏ элСмСнтов ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² Π΅Π³ΠΎ значСниями:


my_array = array.array('Ρ‚ΠΈΠΏ', [элСмСнты])
    

Π—Π΄Π΅ΡΡŒ Ρ‚ΠΈΠΏ - это ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° элСмСнтов массива, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 'i' для Ρ†Π΅Π»Ρ‹Ρ… чисСл (integer), 'f' для чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (float), ΠΈ Ρ‚.Π΄. [элСмСнты] - это список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым.

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

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом послС создания массива являСтся доступ ΠΊ Π΅Π³ΠΎ элСмСнтам.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ ΠΈΡ… индСксу. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² массивС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0. НапримСр, для получСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· массива my_array, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:


first_element = my_array[0]
    

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива, просто присвойтС Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΅Π³ΠΎ индСксу:


my_array[0] = Π½ΠΎΠ²ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
    

Π”Π»ΠΈΠ½Π° массива

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len():


length = len(my_array)
    

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ массива

ΠœΠΎΠ΄ΡƒΠ»ΡŒ array Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами:

  • append(элСмСнт): добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† массива
  • extend(ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚): добавляСт элСмСнты ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΠ½Π΅Ρ† массива
  • insert(индСкс, элСмСнт): вставляСт элСмСнт Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ массива
  • remove(элСмСнт): удаляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· массива
  • pop([индСкс]): удаляСт элСмСнт ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:


my_array.append(4)
my_array.insert(2, 7)
my_array.remove(2)
popped_element = my_array.pop()
    

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивом

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивом для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания:


import array

numbers = array.array('i', [1, 2, 3, 4, 5])  # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл

# Доступ ΠΊ элСмСнтам массива ΠΏΠΎ индСксу
print(numbers[0])  # Π’Ρ‹Π²ΠΎΠ΄: 1

# ИзмСнСниС значСния элСмСнта
numbers[1] = 10  # ИзмСним Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт Π½Π° 10

# Π”Π»ΠΈΠ½Π° массива
print(len(numbers))  # Π’Ρ‹Π²ΠΎΠ΄: 5

# ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² массива
numbers.append(6)  # Π”ΠΎΠ±Π°Π²ΠΈΠΌ элСмСнт 6 Π² ΠΊΠΎΠ½Π΅Ρ† массива
numbers.insert(3, 8)  # Вставим элСмСнт 8 Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 3
numbers.remove(4)  # Π£Π΄Π°Π»ΠΈΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта 4
popped_element = numbers.pop()  # Π£Π΄Π°Π»ΠΈΠΌ послСдний элСмСнт ΠΈ сохраним Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

print(numbers)  # Π’Ρ‹Π²ΠΎΠ΄: array('i', [1, 10, 3, 8, 5, 6])
print(popped_element)  # Π’Ρ‹Π²ΠΎΠ΄: 6
    

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#1 | Python NumPy | Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array, arange ΠΈ dot

Π£Ρ€ΠΎΠΊΠΈ Python - Бписки (ΠœΠ°ΡΡΠΈΠ²Ρ‹)

#2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массивов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ array() | NumPy ΡƒΡ€ΠΎΠΊΠΈ

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² спискС элСмСнт ΠŸΠΈΡ‚ΠΎΠ½? πŸ’»

πŸ” ΠŸΠ°Ρ€ΡΠΈΠ½Π³ сайта Π½Π° Python: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹?

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ элСмСнты ΠΈΠ· списка Π² Python: руководство ΠΏΠΎ использованию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ remove

πŸ”Ž Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ array Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ”Ž Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, дСлится Π»ΠΈ число Π½Π°Ρ†Π΅Π»ΠΎ? 🐍 ΠŸΠΈΡ‚ΠΎΠ½ подсказываСт!

πŸ” Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ map Π² Python: простоС руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

πŸΠ“Π΄Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½ бСсплатно? Π›ΡƒΡ‡ΡˆΠΈΠ΅ способы ΠΈ Ρ€Π΅ΡΡƒΡ€ΡΡ‹πŸ“š