Как ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ: ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΎΠ½Π»Π°ΠΉΠ½

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

НахоТдСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ОписаниС основных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² вычислСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

ПомоТСм Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌ ΠΎΡ‚ 800Ρ€

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

  • НахоТдСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ присоСдинённой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
  • НахоТдСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ союзной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
  • ΠžΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹ΠΉ способ для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка

ΠžΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… Π½ΠΈΠΆΠ΅ описанных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

НахоТдСниС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ присоСдинённой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

Π’Π΅ΠΎΡ€Π΅ΠΌΠ°

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π—Π°Π΄Π°Π½ΠΈΠ΅. Для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ $ A=\left( \begin{array}{ll}{7} & {4} \\ {5} & {3}\end{array}\right) $ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ присоСдинСнной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

РСшСниС. ΠŸΡ€ΠΈΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ справа Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка:

$$ A\left|E=\left( \begin{array}{cc|cc}{7} & {4} & {1} & {0} \\ {5} & {3} & {0} & {1}\end{array}\right)\right. $$

ΠžΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΡƒΡŽ (для этого ΠΎΡ‚ элСмСнта ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки):

$$ A\left|E = \left( \begin{array}{rr|rr}{2} & {1} & {1} & {-1} \\ {5} & {3} & {0} & {1}\end{array}\right)\right. $$

ΠžΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅ΠΌ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ…:

$$ A\left|E \sim \left( \begin{array}{rr|rr}{2} & {1} & {1} & {-1} \\ {1} & {1} & {-2} & {3}\end{array}\right)\right. $$

ΠŸΠ΅Ρ€Π²ΡƒΡŽ ΠΈ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строки мСняСм мСстами:

$$ A\left|E \sim \left( \begin{array}{rr|rr}{1} & {1} & {-2} & {3} \\ {2} & {1} & {1} & {-1}\end{array}\right)\right. $$

ΠžΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅ΠΌ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ…:

$$ A\left|E \sim \left( \begin{array}{rr|rr}{1} & {1} & {-2} & {3} \\ {0} & {-1} & {5} & {-7}\end{array}\right)\right. {-1}=\left( \begin{array}{rr}{3} & {-4} \\ {-5} & {7}\end{array}\right) $

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Если Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ этапС Π² “Π»Π΅Π²ΠΎΠΉ” ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ получаСтся нулСвая строка, Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ исходная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚.


ΠžΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹ΠΉ способ для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка

Для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

Π¨Π°Π³ 1. Находим ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ $ \Delta $ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ссли ΠΎΠ½ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π΅ сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ.

Π¨Π°Π³ 2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, стоящиС Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ мСняСм мСстами, Π° Ρƒ элСмСнтов ΠΏΠΎΠ±ΠΎΡ‡Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ мСняСм Π·Π½Π°ΠΊ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ.

Π¨Π°Π³ 3. Π”Π΅Π»ΠΈΠΌ всС элСмСнты Π½Π° $ \Delta $ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

236

ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€Π° Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² написании Ρ€Π°Π±ΠΎΡ‚Ρ‹ любой слоТности

ΠœΡ‹ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΡƒΠΆΠ΅ 4 396 ΡƒΡ‡Π΅Π½ΠΈΠΊΠ°ΠΌ ΠΈ студСнтам ΡΠ΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π΄ΠΎ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Π½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π£Π·Π½Π°ΠΉ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π° 15 ΠΌΠΈΠ½ΡƒΡ‚!

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π—Π°Π΄Π°Π½ΠΈΠ΅. {-1}=\frac{1}{12} \left( \begin{array}{rrr}{-2} & {6} & {2} \\ {3} & {-3} & {3} \\ {7} & {-3} & {-1}\end{array}\right) $

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС: Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ зависимыС ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ нСзависимыС строки.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π² Excel β€” TutorExcel.Ru

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π² Excel

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим особСнности вычислСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Excel ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠœΠžΠ‘Π .

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ освСТим Π² памяти, Ρ‡Ρ‚ΠΎ обратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° β€” это ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° (записываСтся ΠΊΠ°ΠΊ

A-1), ΠΏΡ€ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (A) Π΄Π°Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (E), Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами выполняСтся Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:


Из опрСдСлСния слСдуСт Π²Π°ΠΆΠ½ΠΎΠ΅ свойство, Ρ‡Ρ‚ΠΎ обратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… (Ρ‚.Π΅. число строк ΠΈ столбцов совпадаСт) ΠΈ Π½Π΅Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† (Ρ‚.Π΅. ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ нуля).

Как Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² Excel?

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ транспонированной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ тСхничСски нСсколько слоТнСС.
ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· построСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ† алгСбраичСских Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ опрСдСлитСля исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.
Однако ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вычислСния ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ порядка ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.
К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для обращСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3-Π³ΠΎ порядка Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ 9 ΠΌΠ°Ρ‚Ρ€ΠΈΡ† алгСбраичСских Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ поэлСмСнтно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ затрудняСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ расчСта Π² Excel.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠœΠžΠ‘Π , которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ:

Ѐункция ΠœΠžΠ‘Π 

Бинтаксис ΠΈ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠœΠžΠ‘Π  Π² Excel:

ΠœΠžΠ‘Π (массив)
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° хранится Π² массивС).

  • Массив (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) β€” числовой массив, содСрТащий ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ числом столбцов ΠΈ строк.

Рассмотрим расчСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠœΠžΠ‘Π  Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρƒ нас имССтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° 3-Π³ΠΎ порядка:


ВыдСляСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ пустых ячССк E2:G4, ΠΊΡƒΠ΄Π° ΠΌΡ‹ Π² дальнСйшСм помСстим ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.
НС снимая выдСлСния ячССк Π²Π²ΠΎΠ΄ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ =ΠœΠžΠ‘Π (A2:C4) ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Ctrl + Shift + Π’Π²ΠΎΠ΄ для расчСта Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ массива ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ:


ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠœΠžΠ‘Π  ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ошибки:

  • Π’ Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° исходная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся Π²Ρ‹Ρ€ΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠΉ (ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ), Ρ‚ΠΎ функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ #Π§Π˜Π‘Π›Πž!;
  • Если число строк ΠΈ столбцов Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π½Π΅ совпадаСт, Ρ‚ΠΎ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ #ЗНАЧ!;
  • Ѐункция Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ #ЗНАЧ!, Ссли хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ являСтся пустым ΠΈΠ»ΠΈ записан Π² тСкстовом Π²ΠΈΠ΄Π΅.

Π£Π΄Π°Ρ‡ΠΈ Π²Π°ΠΌ ΠΈ Π΄ΠΎ скорой встрСчи Π½Π° страницах Π±Π»ΠΎΠ³Π° Tutorexcel. ru!

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:
Поиск ΠΏΠΎ сайту:

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°,ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°,Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • ← Как ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ страницы Π² Excel?
  • Π’ΠΎΡ‡ΠΊΠ° пСрСсСчСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Excel β†’

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив Python NumPy β€” Spark by {Examples}

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив NumPy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ массива с содСрТимым исходного массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы создания ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… массивов Π² NumPy, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ slicing , numpy.flipud() , numpy.flip() , numpy.fliplr() ΠΈ reverse() Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объясню, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив Python ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

1. ΠšΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ массива

Если Π²Ρ‹ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅, Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько быстрых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ массива NumPy Π² Python.

# НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ИспользованиС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ массива numpy с основным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π½Π°Ρ€Π΅Π·ΠΊΠΈ
массив = np. массив ([2, 5, 8, 14, 25])
ΠΎΠ±Ρ€2 = ΠΎΠ±Ρ€[::-1]
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ flipud() для рСвСрсирования массива numpy
ΠΎΠ±Ρ€2 = np.flipud (ΠΎΠ±Ρ€)
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив numpy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.flip()
ΠΎΠ±Ρ€2 = np.flip (ΠΎΠ±Ρ€)
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ reverse()
массив = массив.массив('i',[2, 5, 8, 14, 25])
ΠΎΠ±Ρ€.рСвСрс()
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.fliplr()
массив = np.массив ([[2, 5, 8, 14, 19,25],
               [3, 6, 9, 13, 18, 29]])
ΠΎΠ±Ρ€2 = np.fliplr (ΠΎΠ±Ρ€)
 

2. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ массива NumPy с использованиСм Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π°Ρ€Π΅Π·ΠΊΠΈ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°Ρ€Π΅Π·ΠΊΠΈ для обращСния массива NumPy. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот синтаксис [::-1] Π² качСствС индСкса массива, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ массива NumPy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит элСмСнты Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим массив NumPy, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ numpy.array() , ΠΈ рСвСрсируСм Π΅Π³ΠΎ.

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив
массив = np.
массив ([2, 5, 8, 14, 25]) # ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив numpy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°Ρ€Π΅Π·ΠΊΠΈ ΠΎΠ±Ρ€2 = ΠΎΠ±Ρ€[::-1] ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€2) # Π’Ρ‹Ρ…ΠΎΠ΄ # [25 14 8 5 2]

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ flipud() для обращСния массива

Ѐункция numpy.flipud() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния порядка ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€ΠΎΡ‚Π° массива (элСмСнтов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ столбцС) Π²Π²Π΅Ρ€Ρ…-Π²Π½ΠΈΠ·. Π­Ρ‚Π° функция сохранила Ρ„ΠΎΡ€ΠΌΡƒ массива NumPy.

3.1 Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy flipud()

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ синтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.flipud().

# Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flipud()
numpy.flipud(ΠΎΠ±Ρ€)
 

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flipud().

  • ΠΎΠ±Ρ€ : Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Π²Π΅Ρ€Ρ…-Π²Π½ΠΈΠ·.

3.2 flipud() ΠŸΡ€ΠΈΠΌΠ΅Ρ€ обращСния массива

Π”Π°Π²Π°ΠΉΡ‚Π΅ возьмСм Ρ‚ΠΎΡ‚ ΠΆΠ΅ массив, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½Π΅ΠΌ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flipud().

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ flipud() для рСвСрсирования массива numpy
ΠΎΠ±Ρ€2 = np.flipud (ΠΎΠ±Ρ€)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€2)
 

Π’Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΡˆΠ΅.

4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ flip() для обращСния массива

Python np.flip() 9Ѐункция 0004 β€” это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов массива вдоль Π·Π°Π΄Π°Π½Π½ΠΎΠΉ оси. Π€ΠΎΡ€ΠΌΠ° массива сохраняСтся, Π½ΠΎ элСмСнты ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

4.1 Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy flip()

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ синтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.flip().

# Бинтаксис Ρ„Π»ΠΈΠΏ()
numpy.flip (ΠΎΠ±Ρ€, ось = Π½Π΅Ρ‚)
 

4.2 ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flip()

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flip().

  • ΠΎΠ±Ρ€: Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив.
  • ось: Ось ΠΈΠ»ΠΈ оси, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, axis=None, ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½Π΅Ρ‚ всС оси Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива. Если ось ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ, считаСтся ΠΎΡ‚ послСднСй Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ оси.

4.3 flip() ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½Π΅ΠΌ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ np.flip(). Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив с сохранСнной Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

# ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив numpy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.flip()
ΠΎΠ±Ρ€2 = np.flip (ΠΎΠ±Ρ€)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€2)
 

Π’Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΡˆΠ΅.

5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ numpy.fliplr()

Ѐункция numpy.fliplr() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния порядка элСмСнтов Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Π­Ρ‚Π° запись массива пСрСворачиваСтся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡ€Π°Π²ΠΎ. столбцы ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ порядкС, Ρ‡Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅.

5.1 Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy fliplr()

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ синтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fliplr() .

# Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fliplr()
numpy.fliplr(ΠΎΠ±Ρ€)
 

5.2 ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ fliplr()

  • arr: Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ.

5.3 fliplr() ΠŸΡ€ΠΈΠΌΠ΅Ρ€ рСвСрсирования массива

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ fliplr(), Π΄Π°Π²Π°ΠΉΡ‚Π΅ рСвСрсируСм Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив numpy. Π­Ρ‚Π° функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ΅, Π½ΠΎ с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ порядком элСмСнтов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния.

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив
массив = np.массив ([[2, 5, 8, 14, 19,25],
               [3, 6, 9, 13, 18, 29]])
# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.
fliplr() ΠΎΠ±Ρ€2 = np.fliplr (ΠΎΠ±Ρ€) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€2) # Π’Ρ‹Ρ…ΠΎΠ΄ # [[25 19 14 8 5 2] # [2918 13 9 6 3]]

6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ reverse() для обращСния элСмСнта массива

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ reverse() , которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с элСмСнтами Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

массив ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив
массив = массив.массив('i',[2, 5, 8, 14, 25])
# использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ reverse()
ΠΎΠ±Ρ€.рСвСрс()
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€.)
# Π’Ρ‹Ρ…ΠΎΠ΄
# массив('i', [25, 14, 8, 5, 2])
 

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объяснил, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив Python NumPy Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ научился ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy 9.0003 slicing , flipud() , flip() , fliplr() ΠΈ reverse() функция.

Бчастливого обучСния!!

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

  • ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅ значСния массива NumPy
  • Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив NumPy
  • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ median() Π² NumPy
  • Как Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() Массив NumPy Π² Python
  • Как Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ() массива Π² NumPy

Бсылки

  • https://numpy. org/doc/stable/reference/generated/numpy.flip.html

5 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² рСвСрсирования массива Π² Python (рСвСрс, рСкурсия ΠΈ Ρ‚. Π΄.)

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ C, C++ ΠΈ Java, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΎ встроСнной структурС Π΄Π°Π½Π½Ρ‹Ρ… массива. Π­Ρ‚ΠΈ языки ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти. Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнной структуры Π΄Π°Π½Π½Ρ‹Ρ… массива, вмСсто этого ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ списки. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈ списки ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ массивы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство элСмСнтов, списки ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива?

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π³Ρ€ΡƒΠ±ΠΎΠΉ силы, Ρ‡Π΅ΠΌ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Иногда Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ массив сзади. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сцСнариСв, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ использования ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ массива Π² ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. НапримСр, рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ числа ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠ° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… шаблонов!

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ просто ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ порядка элСмСнтов массива.

НапримСр – [1,2,3,4]Β  Β  Β  Β  =>Β  Β  Β  Β  Β  Β  Β  Β  [4,3,2,1]

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ выглядит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива –

основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π° Python Π΄Π΅Π»Π°Π΅Ρ‚ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅!!

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив Π² Python?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ массива, Π΄Π°Π²Π°ΠΉΡ‚Π΅ пСрСсмотрим Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ объявляСм массив Π² Python. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Python Π½Π΅ прСдоставляСт встроСнных массивов, Β  9Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ массива 0174.

 #ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

#инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив.массив('i', [1,2,3,4,5])
print('Массив: ', а)
 

Β 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив, Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚. (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь Ρ†Π΅Π»Ρ‹Π΅ числа Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ‘i’)

Π’Ρ‹Π²ΠΎΠ΄:

 Массив: array('i', [1, 2, 3, 4, 5])
 

Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π² Python.

Как ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив Π² Python?

Π’ Python сущСствуСт мноТСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для рСвСрсирования массива. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, совмСстимого с вашим ΠΊΠΎΠ΄ΠΎΠΌ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя. Рассмотрим нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ здСсь ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с массивами, Π° Π½Π΅ со списками!

ΠœΠ΅Ρ‚ΠΎΠ΄ 01) Π—Π°ΠΌΠ΅Π½Π° элСмСнтов мСстами

НачнСм с обращСния массива Π² Python Π±Π΅Π· использования встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π§Π°Ρ‰Π΅ всСго Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами элСмСнты с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ/Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌΠΈ индСксами. Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания посмотритС Π½Π° ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

# инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив.массив("i", [1, 2, 3, 4, 5])
print("Массив: ", а)
# ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° len()
Π» = Π»Π΅Π½(Π°)
# ΠΎΠ±Ρ…ΠΎΠ΄ массива Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ!!
для i в диапазонС (l // 2):
    # ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами элСмСнты
    Π°[i], Π°[l - i - 1] = Π°[l - i - 1], Π°[i]

print("ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ", Π°)
 

Β 

Π—Π°ΠΌΠ΅Π½Π° мСстами сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ?? НС Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, взглянитС Π½Π° ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½ΠΈΠΆΠ΅:

НадСюсь, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС понятно.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅:Β 

 Массив: array('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: array('i', [5, 4, 3, 2, 1])
 

Β 

Π­Ρ‚ΠΎ всСго лишь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π±Π΅Π· использования ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ встроСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ большС Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ 02) ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reverse()

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reverse() нСпосрСдствСнно ΠΊΠ°ΠΊ для списков, Ρ‚Π°ΠΊ ΠΈ для массивов. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reverse() ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ памяти, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ памяти ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ мСста. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΌΡ‹ помСняли мСстами элСмСнты Π²Ρ‹ΡˆΠ΅, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти. reverse() Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС.

Код:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

# инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив.массив("i", [1, 2, 3, 4, 5])
print("Массив: ", а)

#Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reverse() для массива a
Π°. ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ()

print("ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ", Π°)
 

Β 

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых быстрых способов рСвСрсирования массива Π² Python. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для массивов большой Π΄Π»ΠΈΠ½Ρ‹.

Π’Ρ‹Π²ΠΎΠ΄:Β 

 Массив: array('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: array('i', [5, 4, 3, 2, 1])
 

Β 

ΠœΠ΅Ρ‚ΠΎΠ΄ reverse() вызываСтся для массива (ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄).

ΠœΠ΅Ρ‚ΠΎΠ΄ 03) ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reversed()

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив, Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ reversed(). ΠœΠ΅Ρ‚ΠΎΠ΄ reversed() Π½Π΅ создаСт ΠΊΠΎΠΏΠΈΠΈ массива ΠΈ Π½Π΅ вносит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² исходный массив. ВмСсто этого Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ создан для облСгчСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

# инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив.массив("i", [1, 2, 3, 4, 5])
print("Массив: ", а)

#ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС()
ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ (Π°)

print("ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ", Π°)
 

Β 

Π’Ρ‹Π²ΠΎΠ΄:

 Массив: массив('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: array('i', [1, 2, 3, 4, 5])
 

Β 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° отсутствиС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² исходном массивС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ reversed(arrayName) Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

# инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив.массив("i", [1, 2, 3, 4, 5])
print("Массив: ", а)

#ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС()
reversed_a = ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ (Π°)

print("ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ", reversed_a)
 

Β 

Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹, ΡƒΠ²ΠΈΠ΄Π΅Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

 Массив: массив('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: <ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ адрСсу 0x0000025EC428EC88>
 

Β 

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅! ΠœΠ΅Ρ‚ΠΎΠ΄ reversed() Π²Π΅Ρ€Π½ΡƒΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» сохранСн ΠΈ распСчатан дальшС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ список, Ρ‚. Π΅. копию исходного массива, Π²Ρ‹Π²Π΅Ρ€Π½ΡƒΡ‚ΡƒΡŽ Π½Π°ΠΈΠ·Π½Π°Π½ΠΊΡƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ list() ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ reversed_a. КосвСнно Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π² список, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив.

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±Ρ€

# инициализация массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами
a = массив. массив("i", [1, 2, 3, 4, 5])
print("Массив: ", а)

#ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС()
reversed_a = список (ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ (Π°))

print("ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ", reversed_a)
 

Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив сохраняСтся Π² reversed_a, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив.

 Массив: массив('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: [5, 4, 3, 2, 1]
 

Β 

Π’Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ интСрСсно, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ reverse() ΠΈ reversed(). Π­Ρ‚ΠΎ просто “Π΄”?

НСт!! Π₯отя reverse() ΠΈ reversed() Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠ½ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅. Π₯отя reverse() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π΅ΠΌ ΠΆΠ΅ массивом, Π½Π΅ занимая Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ мСста Π² памяти, reversed() трСбуСтся Π½ΠΎΠ²Ρ‹ΠΉ массив для хранСния ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ массива. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ reverse() просто ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ исходный массив, reversed() Π½Π΅ влияСт Π½Π° исходный массив ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ reversed() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ reversed() Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ мноТСствам ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ 04) ИспользованиС слайсинга

Π­Ρ‚ΠΎ самый простой ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ рСвСрсирования массива. Π­Ρ‚ΠΎ Π½Π΅ влияСт Π½Π° исходный массив; вмСсто этого ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ копию исходного массива. ΠœΠ΅Ρ‚ΠΎΠ΄ Slicing ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ массив ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° (послСдний индСкс).

Как Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ массив? НарСзка β€” это Π²Ρ‹Π±ΠΎΡ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части массива, Π° Π½Π΅ всСго массива. НарСзка β€” это процСсс Π²Ρ‹Π±ΠΎΡ€Π°/Π²Ρ‹Π·ΠΎΠ²Π° части массива с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ индСксов. Для Π½Π°Ρ€Π΅Π·ΠΊΠΈ массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

имя_массива[Π½Π°Ρ‡Π°Π»ΠΎ: ΠΊΠΎΠ½Π΅Ρ†: шаг]

Π—Π΄Π΅ΡΡŒ Π½Π°Ρ‡Π°Π»ΠΎ прСдставляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс вашСго Π½Π°Ρ€Π΅Π·Π°Π½Π½ΠΎΠ³ΠΎ массива.

ΠΊΠΎΠ½Π΅Ρ† прСдставляСт ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс массива срСзов (ΠΊΠΎΠ½Π΅Ρ† ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½)

шаг β€” это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ нСсколько элСмСнтов Π² вашСм Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅. НапримСр, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт срСза.

Для рСвСрсирования массива Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ шага.

НапримСр, Ρ€Π°Π·Ρ€Π΅ΠΆΡŒΡ‚Π΅ массив a = [1, 2, 3, 4]

1. ΠΎΡ‚ start= 0 Π΄ΠΎ end = 2Β  Β  Β  Β  =>Β  Β  Β a[:3]

2. ΠΎΡ‚ start = 2 Π΄ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части arrayΒ  Β  Β  Β  Β  Β =>Β  Β  Β  Β a[2:]

3. ΠΎΡ‚ start = 1 Π΄ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части массива, пропуская ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт  Β  Β  Β  => a[1::1]

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° индСкс массива, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π°Ρ€Π΅Π·ΠΊΡƒ.

Π’ Python ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ индСкс массива с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами, Π³Π΄Π΅ ΠΊΠΎΠ½Π΅Ρ† массива ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ -1.

Бинтаксис Π½Π°Ρ€Π΅Π·ΠΊΠΈ для обращСния массива Π² Python:

имя_массива[::-1]

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс массива ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ 0. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, прибавляя (-1) ΠΊ 0, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ -1, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послСдним индСксом массива.

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (-1) с (-1) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ (-2), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся прСдпослСдним индСксом массива. Π­Ρ‚ΠΎ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут послСдний (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ) индСкс массива.

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

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
массив ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

#функция для обращСния массива
Π·Π°Ρ‰ΠΈΡ‚Π° рСвСрсивного массива (Π°):
    Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ[::-1]
    
# ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив
а = массив.массив("я", [1, 2, 3, 4, 5])
print('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: ', Π°)
print('ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив ',reversingArray(a))

рСвСрсивный массив (Π°)
# Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ?
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)
 

Β 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° reversingArray(a) Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ массив Π² нашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΌΡ‹ Π½Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для хранСния Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’Ρ‹Π²ΠΎΠ΄:

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: array('i', [1, 2, 3, 4, 5])
ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив - это массив ('i', [5, 4, 3, 2, 1])
массив('i', [1, 2, 3, 4, 5])
 

Β 

ВмСсто создания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ [::-1].

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
массив ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
    
# ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив
а = массив. массив("я", [1, 2, 3, 4, 5])
print('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: ', Π°)
#Π½Π°Ρ€Π΅Π·ΠΊΠ° массива
print('ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив Ρ€Π°Π²Π΅Π½ ', a[::-1])
# повторная ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ исходного массива
print('ВоздСйствиС Π½Π° исходный массив: ', Π°)
 

Β 

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅! НарСзка фактичСски Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ массив для вас. ВмСсто этого ΠΎΠ½ прСдоставит способ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

Π’Ρ‹Π²ΠΎΠ΄:

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: array('i', [1, 2, 3, 4, 5])
ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив - это массив ('i', [5, 4, 3, 2, 1])
ВлияниС Π½Π° исходный массив: array('i', [1, 2, 3, 4, 5]) 

Β 

Π˜Ρ‚Π°ΠΊ, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ рСвСрсивной ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ массива? ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива Π² Python ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ содСрТимого массива, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ исходного массива ΠΈΠ»ΠΈ созданиС Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ массиву просто ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ†ΠΈΠΊΠ»Ρƒ с ΠΊΠΎΠ½Ρ†Π° массива.

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания:

 # ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
массив ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

# ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив
а = массив. массив('я', [1,2,3,4,5])
print('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив:', Π°)

#ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС
print('ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ массиву: ')
для i в диапазонС (len (a) -1, -1, -1):
    Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (Π° [я])

print('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив:', Π°)

# ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ массива
Π°.ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ()
print('ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ', Π°)
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° исходный массив Π½Π΅ повлияло ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ reverse() исходный массив Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚. Π’ этом Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ массива Π² Python ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ массива Π² Python.

Π’Ρ‹Π²ΠΎΠ΄:

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: array('i', [1, 2, 3, 4, 5])
ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ итСрация ΠΏΠΎ массиву:
5
4
3
2
1
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: array('i', [1, 2, 3, 4, 5])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: array('i', [5, 4, 3, 2, 1])
 

Β 

ΠœΠ΅Ρ‚ΠΎΠ΄ 05) ИспользованиС рСкурсии

РСкурсия Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов обращСния массива Π² Python Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Когда Π²ΠΎ врСмя выполнСния функция Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сама сСбя, это называСтся рСкурсиСй. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с рСкурсиСй Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ бСсконСчному Ρ†ΠΈΠΊΠ»Ρƒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° стСк Π½Π΅ пСрСполнится. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π΅ условиС .

ВзглянитС Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСкурсии:

 #ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля массива
массив ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°


#функция для рСвСрсирования массива
Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ массива (ΠΎΠ±Ρ€):
    Ссли len(arr) == 1:
        ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ»Π΅Ρ‚
    #print(arr) ->Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ рСкурсия
    Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ reverseArray(arr[1:]) + arr[0:1]

#объявлСниС массива
a = массив.массив('i', [10, 20, 30, 40, 50])
print("Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: ", Π°)
print('ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ',reverseArray(a))

#объявлСниС массива с длиной = 1
б = массив.массив('я', [1])
print('Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: ', Π±)
print('ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: ', reverseArray(b))
 

Β 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ происходит рСкурсия ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ массив Π² Python. УсловиС if Π²Ρ‹ΡˆΠ΅ являСтся Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. НСобходимо Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ условиС, ΠΈΠ½Π°Ρ‡Π΅ функция Π½Π΅ пСрСстанСт Π΄Π΅Π»Π°Ρ‚ΡŒ рСкурсивныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.

Π’Ρ‹Π²ΠΎΠ΄:

 Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: array('i', [10, 20, 30, 40, 50])
ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ массив: массив('i', [50, 40, 30, 20, 10])
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: массив('i', [1])
ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ массив: array('i', [1])
 

Β 

Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ? ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с прСдставлСнным Π½ΠΈΠΆΠ΅ прСдставлСниСм.

Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ рСкурсии массив разбиваСтся Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты, ΠΏΠΎΠΊΠ° функция Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π½Π΅ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° функция возвращаСтся ΠΊ своСй Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ½Π° суммируСт ΡƒΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ элСмСнт (здСсь число Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ массива). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠΌΡƒ массиву.

Π₯отя рСкурсия Π½Π΅ являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ способом обращСния массива, это Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ происходит рСкурсия ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива.

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

Π’Ρ‹ часто ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ массива ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ