Π‘ΠΏΠΈΡΠΊΠΈ Π²ΡΠ΅Π΄Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΉ β1 ΠΈ 2
- ΠΠ»Π°Π²Π½Π°Ρ
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ
- Π‘ΠΏΠΈΡΠΊΠΈ Π²ΡΠ΅Π΄Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΉ β1 ΠΈ 2
Π‘ΠΏΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ², ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ (ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ), Π΄Π°ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΎ Π½Π° Π΄ΠΎΡΡΠΎΡΠ½ΡΡ ΡΡΡΠ°Ρ ΠΎΠ²ΡΡ ΠΏΠ΅Π½ΡΠΈΡ.
Π Π°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ΄ΠΎΠ²ΠΎΠΉ ΡΡΠ°ΠΆ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π‘ΠΏΠΈΡΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΠΏΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ²Π° Π Π€ ΠΎΡ 16.07.2014 β665.
Π‘ΠΏΠΈΡΠΎΠΊ β1 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΡ ΡΡΠΆΠΊΠΈΠΉ Π²ΡΠ΅Π΄ Π·Π΄ΠΎΡΠΎΠ²ΡΡ. Π‘ΡΠ΄Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ Π² Ρ. Ρ. ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠ΄ΠΎΠ²ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π³ΠΎΡΠ½ΡΡ ΠΏΠΎΡΠΎΠ΄
- ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΠΆΠΈΠ³ ΡΡΠ΄Ρ
- ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ΅ΡΠ½ΡΡ ΠΈ ΡΠ²Π΅ΡΠ½ΡΡ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠ²
- ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠΊΡΠΎΡ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΡΠ°ΡΠ»ΠΈ
- ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ Π³Π°Π·Π°ΠΌΠΈ ΠΈ Ρ ΠΈΠΌΠ²Π΅ΡΠ΅ΡΡΠ²Π°ΠΌΠΈ
- Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅ Π±ΠΎΠ΅ΠΏΡΠΈΠΏΠ°ΡΠΎΠ² ΠΈ Π²Π·ΡΡΠ²ΠΎΠΎΠΏΠ°ΡΠ½ΡΡ Π²Π΅ΡΠ΅ΡΡΠ²
- Π½Π΅ΡΡΠ΅Π³Π°Π·ΠΎΠ²Π°Ρ Π΄ΠΎΠ±ΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ°
- ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ°Π»Π»ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅
- ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΠΈ ΡΡΡΠΎΠΉΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²
- ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΈ, Π·Π°Π½ΡΡΡΠ΅ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠ΅ΠΊΠ»Π°, ΡΠ°ΡΡΠΎΡΠ°, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½
- ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΈ ΡΠ΅Π»Π»ΡΠ»ΠΎΠ·Π½ΠΎ-Π±ΡΠΌΠ°ΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΎΠ²
- ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ Π°Π²ΡΠΎΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ
- Π»ΠΈΡΠ°, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠ΅ΡΡ ΠΏΠΎΠ»ΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΉ
- ΡΠ°ΡΠΌΠ°ΡΠ΅Π²ΡΡ
- ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π΄ΠΈΠΎΠ°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ Π²Π΅ΡΠ΅ΡΡΠ²Π°ΠΌΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π°ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠ½Π΅ΡΠ³Π΅ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ.
ΠΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅Π½ΡΠΈΠΈ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ β1:
- ΠΌΡΠΆΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10 Π»Π΅Ρ (ΡΡ ΠΎΠ΄ΡΡ Π½Π° ΠΏΠ΅Π½ΡΠΈΡ Π² 50 Π»Π΅Ρ)
- ΠΆΠ΅Π½ΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 7 Π»Π΅Ρ ΠΈ 6 ΠΌΠ΅ΡΡΡΠ΅Π² (ΡΡ ΠΎΠ΄ΡΡ Π½Π° ΠΏΠ΅Π½ΡΠΈΡ Π² 45 Π»Π΅Ρ).
Π‘ΠΏΠΈΡΠΎΠΊ β2 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ΅Π½Π΅Π΅ Π²ΡΠ΅Π΄Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ, Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°Π½ΡΡΠΎΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΠΎΡΡΠ°Π·ΠΈΡΡΡΡ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π·Π΄ΠΎΡΠΎΠ²ΡΡ. Π‘ΡΠ΄Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ:
- Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΡΠΊΠΎΠΏΠ°Π΅ΠΌΡΡ
- ΠΌΠ΅ΡΠ°Π»Π»ΡΡΠ³ΠΈΡ
- Π³Π°Π·ΠΎΡΠ»Π΅ΠΊΡΡΠΎΡΠ²Π°ΡΡΠΈΠΊΠΈ
- ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΈ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°
- Π»ΠΈΡΠ°, Π·Π°Π½ΡΡΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ ΠΏΠΈΡΠ΅Π²ΠΎΠΉ ΠΎΡΡΠ°ΡΠ»ΠΈ
- ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ Π·Π΄ΡΠ°Π²ΠΎΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ
- ΡΠΎΡΡΠΎΠ΄ΠΎΠ±ΡΡΠ°
- ΡΠ»ΡΠΆΠ°ΡΠΈΠ΅ Π°Π³ΡΠΎΡ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ²
- ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΡΠ²ΡΠ·ΠΈ
- ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
- ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅Π½ΡΠΈΠΈ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ β2:
- ΠΌΡΠΆΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 12 Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ Π»Π΅Ρ (ΡΡ ΠΎΠ΄ΡΡ Π½Π° ΠΏΠ΅Π½ΡΠΈΡ Π² 55 Π»Π΅Ρ)
- ΠΆΠ΅Π½ΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10 Π»Π΅Ρ (ΡΡ ΠΎΠ΄ΡΡ Π½Π° ΠΏΠ΅Π½ΡΠΈΡ Π² 50 Π»Π΅Ρ).
382
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π° Π½Π° 22.11.2019 Π³.
…
Π‘ΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΡΠΏΠΈΡΠΊΠΈ — ΠΡΠ½ΠΎΠ²Ρ Python
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° (str
). ΠΡ ΡΠΌΠ΅Π΅ΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΈΡ
Π½Π° ΡΠΈΡΠ»ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΠΎΠΊΡ Π΄Π΅ΡΠ°Π»ΡΠ½Π΅Π΅, ΡΠΎ ΠΎΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΠΈΡ Π½Π° ΡΠ²ΠΎΡΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΡΠΎΠΊΠ° β ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ) ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
Π‘Π»ΠΎΠ²ΠΎ Β«ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΒ» Π² Python ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π² Python ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ
ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ
, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΡΡΠΎΠΊΠ°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ β ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ
Python Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠ±Π΅Π», Π·Π°ΠΏΡΡΠ°Ρ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
\n
, \t
ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅. ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ, Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ:
text = input() print(text[0])
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π΄ΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
IndexError: string index out of range
Π ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΡΠ»Π° Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΡΠΎΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, Π½Π΅ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π»ΠΈ ΠΎΠ½ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΡΠΎΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΡ len
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
text = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ: ") i = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°: ")) if i < len(text): print(text[i]) else: print("ΠΠ½Π΄Π΅ΠΊΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΡΠΎΠΊΠΈ")
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ len
:
text = input() print(text[len(text) - 1])
ΠΠ΄Π½Π°ΠΊΠΎ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΡΡ Π·Π°ΠΏΠΈΡΡ, ΡΠ±ΡΠ°Π² ΠΈΠ· Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ len
. Π ΡΠΎΠ³Π΄Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:
text = input() print(text[-1])
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ -1, ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ -2 ΠΈ Ρ. Π΄.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° β ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠΈΠΊΠ»Π΅, ΡΠΊΠ°Π·Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΡΠΎΠΊΠΈ:
text = input() for i in range(len(text)): print(text[i])
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΠΊΠ»Π΅. ΠΡΠ»ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π·Π½Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΡΠΎ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΡΠΌΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
text = input() for letter in text: print(letter)
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ Π½Π΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ ΡΡΡΠΎΠΊΠΈ, Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ. Π’Π°ΠΊ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ letter
Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΡΡΠΎΠΊΠΈ text
.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ enumerate
.
text = input() for i, letter in enumerate(text): print(f"{i}. {letter}")
ΠΠ»Ρ ΡΡΡΠΎΠΊ Π² Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ β ΡΡΠ΅Π· (slice
).
Π‘ΡΠ΅Π· ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π·ΡΡΡ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΊΠ°Π·Π°Π² Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΡ (ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π³, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ΅Π· Π±ΡΠ΄Π΅Ρ Π²Π·ΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π³ 1). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΡΠ»ΡΡ
Π³Π»Π°Π² ΠΌΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ range
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠ΅Π·Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ. Π Π΅ΡΠ»ΠΈ ΡΡΠ΅Π· Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠΏΠ°Π΄ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π° ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π·ΠΎΠ²:
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!" print(text[8:11]) print(text[:6]) print(text[8:]) print(text[:]) print(text[::2])
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΡΠΎΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ Π½Π΅Π»ΡΠ·Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΡΠΎΠΊΠΈ:
word = "ΠΌΠΈΡ" word[0] = "ΠΏ"
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
TypeError: 'str' object does not support item assignment
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² Python ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅, Π° Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ) Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΡΡΠΎΠΊ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ islower(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π±ΡΠΊΠ²Ρ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True, ΠΈΠ½Π°ΡΠ΅ β False:
print("Π°".islower()) print("A".islower())
True False
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΠΎΠΊ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΠΎΠΊ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
str.capitalize()
ΠΠ΅ΡΠΎΠ΄ | str.capitalize() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠΎΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ²Π°Ρ Π±ΡΠΊΠ²Π° Π·Π°Π³Π»Π°Π²Π½Π°Ρ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊ ΡΡΡΠΎΡΠ½ΡΠΌ |
ΠΡΠΈΠΌΠ΅Ρ | s = «hello, World!» s.capitalize() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | Hello, world! |
str.count(sub)
ΠΠ΅ΡΠΎΠ΄ | str.count(sub) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΡ
ΡΡ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ sub . Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ°ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Β«ΠΠΠΠΠΒ» Π½Π΅ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Β«ΠΠΒ», ΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Β«AAAAAΒ». ΠΡΠΎΡΠΎΠ΅ β Β«AAAAAΒ». ΠΠΎΠ»ΡΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΡ
ΡΡ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ. Π’Π°ΠΊ, ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s. ![]() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | 3 |
str.endswith(suffix)
ΠΠ΅ΡΠΎΠ΄ | str.endswith(suffix) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ suffix . ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False. suffix ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ
ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΉ ΡΡΡΠΎΠΊΠΈ |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s.endswith(«world!») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.find(sub)
ΠΠ΅ΡΠΎΠ΄ | str.find(sub) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ sub . ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ -1 |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s.find(«o») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | 4 |
str.index(sub)
ΠΠ΅ΡΠΎΠ΄ | str.index(sub) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ sub .![]() |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s.index(«o») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | 4 |
str.isalnum()
ΠΠ΅ΡΠΎΠ΄ | str.isalnum() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ Π±ΡΠΊΠ²Π°ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ°ΠΌΠΈ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False |
ΠΡΠΈΠΌΠ΅Ρ | s = «abc123» s.isalnum() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.isalpha()
ΠΠ΅ΡΠΎΠ΄ | str.isalpha() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ Π±ΡΠΊΠ²Π°ΠΌΠΈ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False |
ΠΡΠΈΠΌΠ΅Ρ | s = «Letters» s.isalpha() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.isdigit()
ΠΠ΅ΡΠΎΠ΄ | str.![]() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΡΠ°ΠΌΠΈ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False |
ΠΡΠΈΠΌΠ΅Ρ | s = «123» s.isdigit() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.islower()
ΠΠ΅ΡΠΎΠ΄ | str.islower() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π±ΡΠΊΠ²Ρ Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° Π±ΡΠΊΠ²Π°. ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False |
ΠΡΠΈΠΌΠ΅Ρ | s = «word123» s.islower() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.isupper()
ΠΠ΅ΡΠΎΠ΄ | str.isupper() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π±ΡΠΊΠ²Ρ Π² ΡΡΡΠΎΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° Π±ΡΠΊΠ²Π°. ΠΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False |
ΠΡΠΈΠΌΠ΅Ρ | s = «WORD123» s.isupper() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.join(str_col)
ΠΠ΅ΡΠΎΠ΄ | str.![]() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠ΅ΠΉ (ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ) ΡΡΡΠΎΠΊ β ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ str_col (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
Β«ΡΡΡΠΎΠΊΠ°Β»). Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ |
ΠΡΠΈΠΌΠ΅Ρ | a = [«1», «2», «3»] «; «.join(a) |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «1; 2; 3» |
str.ljust(width, fillchar)
ΠΠ΅ΡΠΎΠ΄ | str.ljust(width, fillchar) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Π΄Π»ΠΈΠ½ΠΎΠΉ width Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ. Π‘ΡΡΠΎΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ fillchar Π΄ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ fillchar β ΠΏΡΠΎΠ±Π΅Π» |
ΠΡΠΈΠΌΠ΅Ρ | s = «text» s.ljust(10, «=») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «text======» |
str.rstrip(chars)
ΠΠ΅ΡΠΎΠ΄ | str.rstrip(chars) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ chars .![]() chars Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΡΠΎ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ |
ΠΡΠΈΠΌΠ΅Ρ | s = «stringBCCA» s.rstrip(«ABC») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «string» |
str.split(sep)
ΠΠ΅ΡΠΎΠ΄ | str.split(sep) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ sep . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ sep β Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² |
ΠΡΠΈΠΌΠ΅Ρ | s = «one, two, three» s.split(«, «) |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | [«one», «two», «three»] |
str.startswith(prefix)
ΠΠ΅ΡΠΎΠ΄ | str.startswith(prefix) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ prefix , ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False. prefix ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΡ
ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ΄ ΠΊΠΎΡΡΠ΅ΠΆΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s. ![]() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | True |
str.strip(chars)
ΠΠ΅ΡΠΎΠ΄ | str.strip(chars) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ chars . ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ chars Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΡΠΎ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ |
ΠΡΠΈΠΌΠ΅Ρ | s = «abc Hello, world! cba» s.strip(» abc») |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «Hello, world!» |
str.title()
ΠΠ΅ΡΠΎΠ΄ | str.title() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π±ΡΠΊΠ²Ρ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΈΠ΄ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ |
ΠΡΠΈΠΌΠ΅Ρ | s = «hello, world!» s.title() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «Hello, World!» |
str.upper()
ΠΠ΅ΡΠΎΠ΄ | str.upper() |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠΎΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ |
ΠΡΠΈΠΌΠ΅Ρ | s = «Hello, world!» s. ![]() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «HELLO, WORLD!» |
str.zfill(width)
ΠΠ΅ΡΠΎΠ΄ | str.zfill(width) |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ»Π΅Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Β«0Β» Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ width |
ΠΡΠΈΠΌΠ΅Ρ | s = «123» s.zfill(5) |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ | «00123» |
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² Python β ΡΠΏΠΈΡΠΎΠΊ (list
). ΠΡΠΎΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² β ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ ΡΡΠ°Π½Π΅Ρ Π² ΠΈΡΠΎΠ³Π΅ ΡΠΏΠΈΡΠΊΠΎΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
numbers = [10, 20, 30]
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² β ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Π‘ΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ:
mixed_list = [10, 20.55, "text"]
ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ°Ρ
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΡΡΠΎΠΊΠ°Ρ
, β Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ 0. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ΅Π·Ρ:
numbers = [10, 20, 30, 40, 50] print(numbers[0]) print(numbers[-1]) print(numbers[1:3]) print(numbers[::-1])
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
10 50 [20, 30] [50, 40, 30, 20, 10]
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π£ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, Π° Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
numbers = [10, 20, 50] numbers[2] = 30 print(numbers)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
[10, 20, 30]
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ append().
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ 10 ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ:
numbers = [] for i in range(10): numbers.append(int(input())) print(numbers)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ del. ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ:
numbers = [10, 20, 50] del numbers[-1] print(numbers)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
[10, 20]
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ del
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ΅Π·:
numbers = [1, 2, 3, 4, 5] del numbers[::2] print(numbers)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
[2, 4]
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ |
---|---|---|---|
x in s | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, Π΅ΡΠ»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ s Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x. ΠΠ½Π°ΡΠ΅ False | 1 in [1, 2, 3] | True |
x not in s | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False, Π΅ΡΠ»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ s Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x. ΠΠ½Π°ΡΠ΅ True | 4 not in [1, 2, 3] | True |
s + t | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠ΅ΠΉ ΡΠΏΠΈΡΠΊΠΎΠ² s ΠΈ t | [1, 2] + [3, 4, 5] | [1, 2, 3, 4, 5] |
s * n (n * s) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ n ΡΠ°Π· ΡΠΏΠΈΡΠΊΠ° s | [1, 2, 3] * 3 | [1, 2, 3, 1, 2, 3, 1, 2, 3] |
len(s) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ° s | len([1, 2, 3]) | 3 |
min(s) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° | min([1, 2, 3]) | 1 |
max(s) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° | max([1, 2, 3]) | 3 |
s.![]() | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° x. ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ | [1, 2, 3, 2, 1].index(2) | 1 |
s.count(x) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² x | [1, 1, 1, 2, 3, 1].count(1) | 4 |
s.append(x) | ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ° | s = [1, 2] s.append(3) print(s) | [1, 2, 3] |
s.clear() | Π£Π΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° | s = [1, 2, 3] s.clear() print(s) | [] |
s.copy() | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΡΠΏΠΈΡΠΊΠ° | [1, 2, 3].copy() | [1, 2, 3] |
s.extend(t) ΠΈΠ»ΠΈ s += t | Π Π°ΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ s ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ° t | s = [1, 2, 3] s.extend([4, 5]) print(s) | [1, 2, 3, 4, 5] |
s.insert(i, x) | ΠΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ x Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ i | s = [1, 3, 4] s.insert(1, 2) print(s) | [1, 2, 3, 4] |
s.pop(i) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ i.![]() | s = [1, 2, 3] x = s.pop() print(x) print(s) | 3 [1, 2] |
s.remove(x) | Π£Π΄Π°Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ x | s = [1, 2, 3, 2, 1] s.remove(2) print(s) | [1, 3, 2, 1] |
s.reverse() | ΠΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ (ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ) | s = [1, 2, 3] s.reverse() print(s) | [3, 2, 1] |
s.sort() | Π‘ΠΎΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ, ΠΌΠ΅Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ reverse=True | s = [2, 3, 1] s.sort() print(s) | [1, 2, 3] |
sorted(s) | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ, Π½Π΅ ΠΌΠ΅Π½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ. ΠΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ reverse=True | s = [2, 3, 1] new_s = sorted(s, reverse=True) print(new_s) | [3, 2, 1] |
ΠΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ (tuple
). ΠΠΎΡΡΠ΅ΠΆ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ. Π ΠΊΠΎΡΡΠ΅ΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠΎΡΡΠ΅ΠΆ β Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΠΈΠ»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ°Π΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
numbers = (1, 2, 3, 4, 5)
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΎ Π·Π°ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ:
one_number = (1, )
ΠΠ°ΠΏΡΡΠ°Ρ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π° ΠΈΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΆΠ°.
ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ ΠΏΡΠΈΠ²Π΅Π΄ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ :
a = 1 b = 2 (a, b) = (b, a) # ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ a, b = b, a print(f"a = {a}, b = {b}")
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
a = 2, b = 1
ΠΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ):
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!" list_symbols = list(text) tuple_symbols = tuple(text) text_from_list = str(list_symbols) print(list_symbols) print(tuple_symbols) print(text_from_list)
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
['Π', 'Ρ', 'ΠΈ', 'Π²', 'Π΅', 'Ρ', ',', ' ', 'ΠΌ', 'ΠΈ', 'Ρ', '!'] ('Π', 'Ρ', 'ΠΈ', 'Π²', 'Π΅', 'Ρ', ',', ' ', 'ΠΌ', 'ΠΈ', 'Ρ', '!') ['Π', 'Ρ', 'ΠΈ', 'Π²', 'Π΅', 'Ρ', ',', ' ', 'ΠΌ', 'ΠΈ', 'Ρ', '!']
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΊ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
str
Π½Π΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ.
python — Π Π°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ)
Π― ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ± Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Python ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ.
Π’Π°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²:
A = [0,1,2,3,4,5]
Π― Π±Ρ ΡΠΌΠΎΠ³ ΠΏΠΎΠ»ΡΡΠΈΡΡ:
B = [0,1,2] Π‘ = [3,4,5]
- ΠΏΠΈΡΠΎΠ½
- ΡΠΏΠΈΡΠΎΠΊ
- ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ
A = [1,2,3,4,5,6] Π = Π[:Π»Π΅Π½(Π)//2] Π‘ = Π[Π»Π΅Π½(Π)//2:]
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ:
def split_list(a_list): ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° = len(a_list)//2 Π²Π΅ΡΠ½ΡΡΡ a_list[:ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°], a_list[ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°:] Π = [1,2,3,4,5,6] B, C = ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ_ΡΠΏΠΈΡΠΎΠΊ (A)
2
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Β«ΠΏΠΎΠΏΠΎΠ»Π°ΠΌΒ»):
def split_list(alist,want_parts=1): Π΄Π»ΠΈΠ½Π° = len(Π°Π»ΠΈΡΡ) return [ alist[i*length // ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅_ΡΠ°ΡΡΠΈ: (i+1)*Π΄Π»ΠΈΠ½Π° // ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅_ΡΠ°ΡΡΠΈ] Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (wanted_parts)] Π = [0,1,2,3,4,5,6,7,8,9] ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ split_list(A, Wanted_Parts=1) Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ split_list(A, Wanted_Parts=2) Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ split_list(A, Wanted_Parts=8)
8
f = Π»ΡΠΌΠ±Π΄Π° A, n=3: [A[i:i+n] Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0, len(A), n)] f(Π)
n
— Π·Π°Π΄Π°Π½Π½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
1
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ (ΠΎΠ±Ρ, ΡΠ°Π·ΠΌΠ΅Ρ): ΠΏΡΠΈΡ ΠΎΠ΄ = [] Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ len(arr) > ΡΠ°Π·ΠΌΠ΅Ρ: pice = ΠΎΠ±Ρ[:ΡΠ°Π·ΠΌΠ΅Ρ] Arrs.append(ΡΠΈΡ.) ΠΎΠ±Ρ = ΠΎΠ±Ρ[ΡΠ°Π·ΠΌΠ΅Ρ:] ΠΎΠ±Ρ.Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(ΠΎΠ±Ρ.) Π²ΠΎΠ·Π²ΡΠ°Ρ
Π’Π΅ΡΡ:
Ρ =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] ΠΏΠ΅ΡΠ°ΡΡ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ (Ρ , 5))
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13]]
2
ΠΡΠ»ΠΈ Π²Π°Ρ Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ…
def split(list): Π²Π΅ΡΠ½ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ[::2], ΡΠΏΠΈΡΠΎΠΊ[1::2]
list[::2]
ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 0-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
list[1::2]
ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
2
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π·ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ°. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ my_list[start_index:end_index]
>>> i = [0,1,2,3,4,5] >>> i[:3] # ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ i[0:3] - Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎ ΡΡΠ΅ΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ (0->2) [0, 1, 2] >>> i[3:] # ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ i[3:len(i)] - Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° [3, 4, 5]
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΏΠΈΡΠΊΠ°, Π²Ρ ΡΡΠ΅Π·Π°Π΅ΡΠ΅ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄ΠΎ len(i)//2
(Π³Π΄Π΅ //
β ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ 3//2 Π΄Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
1 Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΏΠΈΡΠΊΠ°
1. 5`):
>>> i[:len(i)/ /2] [0, 1, 2]
..ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΎΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ:
>>> i[len(i)//2:] [3, 4, 5]
2
Π, Π‘=Π[:Π»Π΅Π½(Π)/2],Π[Π»Π΅Π½(Π)/2:]
2
ΠΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΠ΅Π΅ arr Π½Π° ΡΠ°ΡΡΡ count
def split(arr, count): Π²Π΅ΡΠ½ΡΡΡ [arr[i::count] Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (count)]
1
Π΄Π΅Ρ ΡΠΏΠ»ΠΈΡΡΠ΅Ρ(Π): B = A[0:len(A)//2] Π‘ = Π[Π»Π΅Π½(Π)//2:] Π²ΠΎΠ·Π²ΡΠ°Ρ (Π,Π‘)
Π― ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π», ΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ int Π² Python 3 ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ°. ΠΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΠΎΡΡ Π±ΡΠ» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ, Ρ ΠΎΡΡ wysiwyg ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠ»ΠΎΠΌΠ°Π»ΡΡ Π² Opera.
1
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ itertools ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
from itertools import islice def make_chunks (Π΄Π°Π½Π½ΡΠ΅, Π ΠΠΠΠΠ ): ΡΡΠΎ = ΠΈΡΠ΅Ρ (Π΄Π°Π½Π½ΡΠ΅) # ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ `xragne`, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ python 2.7: Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0, len (Π΄Π°Π½Π½ΡΠ΅), SIZE): yield [k Π΄Π»Ρ k Π² islice(it, SIZE)]
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ:
A = [0, 1, 2, 3, 4, 5, 6] ΡΠ°Π·ΠΌΠ΅Ρ = Π΄Π»ΠΈΠ½Π° (Π) // 2 Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΡΠ° Π² make_chunks (A, ΡΠ°Π·ΠΌΠ΅Ρ): ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΠ±ΡΠ°Π·Π΅Ρ)
ΠΡΠ²ΠΎΠ΄:
[0, 1, 2] [3, 4, 5] [6]
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @thefourtheye ΠΈ @Bede Constantinides
ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅.
# ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: split_half([1,2,3,4,5]) Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ([1, 2], [3, 4, 5]) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ split_half (Π°): ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° = Π΄Π»ΠΈΠ½Π° (Π°) >> 1 Π²Π΅ΡΠ½ΡΡΡ[:ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ],[ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ:]
1
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ΅ΠΏΡ Python Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 9.0037 ΠΈ .
ΠΈΠ· itertools import izip_longest def grouper (n, iterable, fillvalue = None): Β«Π‘ΠΎΠ±ΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΡΡΠΊΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΡΒ» # grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx args = [iter(ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ)] * n Π²Π΅ΡΠ½ΡΡΡ izip_longest(fillvalue=fillvalue, *Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ)
ΠΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π²Π·ΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ python itertools.
10 Π»Π΅Ρ ΡΠΏΡΡΡΡ.. Π― ΠΏΠΎΠ΄ΡΠΌΠ°Π» — ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅:
arr = 'ΠΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°' * 10; ΠΏ = 4 print([arr[e:e+n] Π΄Π»Ρ e Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅(0,len(arr),n)])
Π₯ΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π²Π΅ΡΠ½Ρ, Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 2, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ a / 2
, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ Π½Π΅ΡΠ΅ΡΠ½ΡΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ Π² python 3.0 , ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠ· __future__ import Division
Π² Π½Π°ΡΠ°Π»Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠΎ Π΅ΡΡΡ a // 2
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Β«ΠΏΡΡΠΌΡΡΒ» ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
# Π΄Π»Ρ ΠΏΠΈΡΠΎΠ½Π° 3 Π = [0,1,2,3,4,5] Π» = Π»Π΅Π½(Π)/2 Π = Π[:ΡΠ΅Π»ΠΎΠ΅(Π»)] Π‘ = Π [ΠΈΠ½Ρ (Π»):]
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° n ΡΠ°ΡΡΠ΅ΠΉ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
def sp(l,n): # ΡΠ°Π·Π±ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ l Π½Π° n ΡΠ°ΡΡΠ΅ΠΉ Π΅ΡΠ»ΠΈ Ρ: p = len(l), Π΅ΡΠ»ΠΈ n < 1, ΠΈΠ½Π°ΡΠ΅ len(l) // n # Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ p = p, Π΅ΡΠ»ΠΈ p > 0, ΠΈΠ½Π°ΡΠ΅ 1 # ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0, len (l), p): Π²ΡΡ ΠΎΠ΄ l[i:i+p] Π΅ΡΠ΅: yield [] # ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ split Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π£ Numpy Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ
ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ
, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²
Π»ΡΠ±ΡΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np A = np.array (ΡΠΏΠΈΡΠΎΠΊ ('abcdefg')) np.split(A, 2)
Π‘ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ @ChristopheD
def line_split(N, K=1): Π΄Π»ΠΈΠ½Π° = Π΄Π»ΠΈΠ½Π° (N) Π²Π΅ΡΠ½ΡΡΡ [N[i*Π΄Π»ΠΈΠ½Π°/K:(i+1)*Π΄Π»ΠΈΠ½Π°/K] Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (K)] Π = [0,1,2,3,4,5,6,7,8,9] ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ line_split(A,1) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ line_split(A,2)
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² 2020 Π³ΠΎΠ΄Ρ… ΠΠΎΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π― ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΡ Β«ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌΒ» ΠΊΠ°ΠΊ .. (Ρ.Π΅. ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ°, ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅ΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ Ρ. Π΄.). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π²Π½Π° 19Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° // Π΄Π°Π΅Ρ 9, ΠΈ Π² ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»ΠΈΠ½Ρ 9 ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ² (ΡΡΠ΅ΡΠΈΠΉ) Π΄Π»ΠΈΠ½Ρ 1 (Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°). ΠΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΄Π°Π²Π°Π»ΠΎ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π½Π°Ρ ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°Π²Π½Ρ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ (ΠΎΠ΄ΠΈΠ½ Π±ΡΠ΄Π΅Ρ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ). Π ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΠΉΡΡ).
""" arrayinput --> - ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»ΠΈΠ½Ρ N, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ 2 ΡΠ°Π·Π° """ ctr = 1 # ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ_1 = [] Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ_2 = [] Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (arrayinput)): Π΅ΡΠ»ΠΈ ctr == 1 : Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ_1.append (Π²Π²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π° [i]) ΠΠ»ΠΈΡ ctr == 2: Π΄Π΅ΡΠΆΠ°ΡΠ΅Π»Ρ_2.append (Π²Π²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Π° [i]) ctr += 1 if ctr > 2 : # Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ 2 ΡΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ = 1
ΠΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΠΏΠΈΡΠΊΠ°, ΠΊΠ°ΠΊ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ (Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ΄ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ ΡΠΏΠΈΡΠΊΠ° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅). Π ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. Π§ΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠΈΠΊΠ» Π½Π° cython/C/C++, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠΏΡΡΡ ΠΆΠ΅, Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΏΠΈΡΠΊΠ°Ρ ~ 10 000 ΡΡΡΠΎΠΊ, ΠΈ ΠΎΠ½ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π·Π° Π΄ΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠΎΠΈ ΠΏΡΡΡ ΠΊΠΎΠΏΠ΅Π΅ΠΊ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΈΠ· itertools import islice ΠΠ²ΠΎΠ΄ = [2, 5, 3, 4, 8, 9, 1] small_list_length = [1, 2, 3, 1] Input1 = ΠΈΡΠ΅Ρ (Π²Π²ΠΎΠ΄) Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = [ΡΠΏΠΈΡΠΎΠΊ (islice (Input1, elem)) Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² small_list_length] print("Π‘ΠΏΠΈΡΠΎΠΊ Π²Π²ΠΎΠ΄Π°:", ΠΠ²ΠΎΠ΄) print("Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ: ", small_list_length) print("Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ", Π Π΅Π·ΡΠ»ΡΡΠ°Ρ)
1
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ numpy
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np np.array_split ([1,2,3,4,6,7,8], 2)
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
[ΠΌΠ°ΡΡΠΈΠ² ([1, 2, 3, 4]), ΠΌΠ°ΡΡΠΈΠ² ([6, 7, 8])]
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Python 3.12, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ:
ΠΈΠ· itertools import ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² = [1,2,3,4,5,6,7,8,9,0] ΠΊΡΡΠΊΠΈ = ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ (ΠΌΠ°ΡΡΠΈΠ², Π΄Π»ΠΈΠ½Π° (ΠΌΠ°ΡΡΠΈΠ²)/2 + 1)
ΠΡΠΎ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΠΊΡΡΠΊΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° ΠΏΠ°ΡΠ°).
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Google
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Facebook
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π³ΠΎΡΡΡ
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π³ΠΎΡΡΡ
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ
python β ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ»ΠΎΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ²?
ΠΠ°Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² l
,
flat_list = [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅]
ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ:
flat_list = [] Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l: Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅: flat_list.append (ΡΠ»Π΅ΠΌΠ΅Π½Ρ)
Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΡΠ»ΡΠΊΠΈ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ. ( l
ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ.)
ΠΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
def flatten(l): Π²Π΅ΡΠ½ΡΡΡ [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅]
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ timeit
ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
$ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' '[ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅]' 10000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 3: 143 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'ΡΡΠΌΠΌΠ°(l, [])' 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 3: 969 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (Π»ΡΠΌΠ±Π΄Π° x,y: x+y ,Π»)' 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 3: 1,1 ΠΌΡ Π½Π° ΡΠΈΠΊΠ»
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅: ΡΡΠ»ΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° +
(Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠΌΠΌΠ΅
) ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ O(L**2)
, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ L ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠΎΠ² β ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄Π»ΠΈΠ½Π½Π΅Π΅, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΈ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ (Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ
, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠ΅). ΠΡΠ°ΠΊ, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ Π±Π΅Π· ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ L ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΠΎ I ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ: ΠΏΠ΅ΡΠ²ΡΠ΅ I ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΡΡΠ΄Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ L-1 ΡΠ°Π·, Π²ΡΠΎΡΡΠ΅ I ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² L-2 ΡΠ°Π·Π° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅; ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΏΠΈΠΉ ΡΠ°Π²Π½ΠΎ I, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΡΡΠΌΠΌΡ x Π΄Π»Ρ x ΠΎΡ 1 Π΄ΠΎ L Π±Π΅Π· ΡΡΠ΅ΡΠ°, Ρ. Π΅.
I * (L**2)/2
.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΈΡΠΎΠΊ, ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ (ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΆΠΈΡΠ΅Π»ΡΡΡΠ²Π° Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²) ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
12
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ itertools.chain()
:
>>> import itertools >>> list2d = [[1,2,3], [4,5,6], [7], [8,9]] >>> ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΎ = ΡΠΏΠΈΡΠΎΠΊ (itertools.chain (* list2d))
ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ itertools.chain.from_iterable()
ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ *
:
>>> import itertools >>> list2d = [[1,2,3], [4,5,6], [7], [8,9]] >>> ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΎ = ΡΠΏΠΈΡΠΎΠΊ (itertools.chain.from_iterable (list2d))
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌ, ΡΠ΅ΠΌ [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅]
ΠΈ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡΡΠ΅Π΅:
$ python3 -mtimeit -s'l=[[1,2,3],[ 4,5,6], [7], [8,9]]*99;ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ itertools' 'ΡΠΏΠΈΡΠΎΠΊ(itertools.chain.from_iterable(l))' 20Β 000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 5: 10,8 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python3 -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' '[ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅]' 10Β 000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 5: 21,7 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python3 -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'ΡΡΠΌΠΌΠ°(l, [])' 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 5: 258 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python3 -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99; ΠΈΠ· functools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ' 'ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (Π»ΡΠΌΠ±Π΄Π° x, Ρ: Ρ +Ρ,1)' 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 5: 292 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» $ python3 --Π²Π΅ΡΡΠΈΡ ΠΠΈΡΠΎΠ½ 3.7.5rc1
5
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠ° : ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠΎ Π²Π΅ΡΠ΅Π»ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠ½ΠΎΠΈΠ΄Ρ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅.
>>> xss = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] >>> ΡΡΠΌΠΌΠ°(xss, []) [1, 2, 3, 4, 5, 6, 7, 8, 9]
sum
ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ xss
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ []
Π΄Π»Ρ ΡΡΠΌΠΌΡ. (ΠΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β 0
, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ.)
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΡΠΌΠΌΠΈΡΡΠ΅ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, Π²Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ [1,3]+[2,4]
Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ sum([[1,3],[2,4]],[])
, ΡΡΠΎ ΡΠ°Π²Π½ΠΎ [1,3,2,4]
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ»Ρ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΏΠΈΡΠΊΠΎΠ² Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
5
Π― ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ perfplot (ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎ ΡΡΡΠΈ, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π²ΠΎΠΊΡΡΠ³ timeit
) ΠΈ Π½Π°ΡΠ΅Π»
import functools ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ° functools.reduce (operator.iconcat, a, [])
Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠΏΠΈΡΠΊΠΎΠ², ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π΄Π»ΠΈΠ½Π½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ². (
operator.iadd
ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π±ΡΡΡΡΠΎ.)
ΠΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
out = [] Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² a: out.extend(ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ)
ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠΎΠ² Π²Π΅Π»ΠΈΠΊΠΎ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ΄ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠΆΠ΅ΡΠ°:
import functools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ itertools ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΡΠΏΠ»ΠΎΡ Π΄Π΅Ρ forfor(a): Π²Π΅ΡΠ½ΡΡΡ [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅] def ΡΡΠΌΠΌΠ°_Π±ΡΠ°ΠΊΠ΅ΡΠΎΠ² (Π°): Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ ΡΡΠΌΠΌΠ° (Π°, []) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ functools_reduce (Π°): Π²Π΅ΡΠ½ΡΡΡ functools.reduce (operator.concat, a) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ functools_reduce_iconcat (Π°): Π²Π΅ΡΠ½ΡΡΡ functools.reduce (operator.iconcat, a, []) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ itertools_chain (Π°): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (itertools.chain.from_iterable (a)) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ numpy_flat (Π°): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (np.array(a).flat) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ numpy_concatenate (Π°): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (np.concatenate (a)) Π·Π°ΡΠΈΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (Π°): Π²ΡΡ ΠΎΠ΄ = [] Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² a: out.extend(ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ) Π²Π΅ΡΠ½ΡΡΡΡΡ Π± = perfplot.bench ( setup=Π»ΡΠΌΠ±Π΄Π° n: [ΡΠΏΠΈΡΠΎΠΊ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (10))] * n, # setup=Π»ΡΠΌΠ±Π΄Π° n: [ΡΠΏΠΈΡΠΎΠΊ(Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½(n))] * 10, ΡΠ΄ΡΠ°=[ Π΄Π»Ρ, ΡΡΠΌΠΌΠ°_ΡΠΊΠΎΠ±ΠΊΠΈ, functools_reduce, functools_reduce_iconcat, itertools_chain, numpy_flat, numpy_concatenate, ΠΏΡΠΎΠ΄Π»Π΅Π²Π°ΡΡ, ], n_range=[2 ** k Π΄Π»Ρ k Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (16)], xlabel="ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΈΡΠΊΠΎΠ² (Π΄Π»ΠΈΠ½ΠΎΠΉ 10)", # xlabel="Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ (Π²ΡΠ΅Π³ΠΎ 10 ΡΠΏΠΈΡΠΊΠΎΠ²)" ) b.save("out.png") Π±.ΠΏΠΎΠΊΠ°Π·Π°ΡΡ()
7
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ functools.reduce
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ xs
ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΏΠΈΡΠΊΡ ys
:
ΠΈΠ· functools import reduce xss = [[1,2,3], [4,5,6], [7], [8,9]] out = ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (Π»ΡΠΌΠ±Π΄Π° xs, ys: xs + ys, xss)
ΠΡΠ²ΠΎΠ΄:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
ΠΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ operator.
: concat
ΠΈΠ· functools import reduce ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ° Ρ ΡΡ = [[1,2,3], [4,5,6], [7], [8,9]] out = ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (operator.concat, xss)
ΠΡΠ²ΠΎΠ΄:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
3
ΠΠΎΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΡΠΈΡΠ»Π°ΠΌ , ΡΡΡΠΎΠΊΠ°ΠΌ , Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠ°ΠΌ ΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ . ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ (ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅ Demo ).
ΠΠΎΠ΄
ΠΈΠ· Π²Π²ΠΎΠ΄Π° import Iterable #ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Iterable # < py38 Π΄Π΅Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ): """ΠΡΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°; ΡΠΌ. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.""" Π΄Π»Ρ x Π² ΠΏΡΠ½ΠΊΡΠ°Ρ : Π΅ΡΠ»ΠΈ isinstance(x, Iterable), Π° Π½Π΅ isinstance(x, (str, bytes)): Π΄Π»Ρ sub_x Π² flatten(x): Π²ΡΡ ΠΎΠ΄ sub_x Π΅ΡΠ΅: Π²ΡΡ ΠΎΠ΄ Ρ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ :
- Π Python 3
yield from flatten(x)
ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡΠ΄Π»Ρ sub_x Π² flatten(x): yield sub_x
- Π Python 3.
8 Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ ΠΈΠ·
collection.abc
Π² ΠΌΠΎΠ΄ΡΠ»Ρtyping
.
ΠΠ΅ΠΌΠΎ
ΠΏΡΠΎΡΡΠΎΠΉ = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (ΠΏΡΠΎΡΡΠΎΠΉ)) # [1, 2, 3, 4, 5, 6, 7, 8, 9] ΡΠ»ΠΎΠΆΠ½ΠΎ = [[1, [2]], (3, 4, {5, 6}, 7), 8, "9"] # ΡΠΈΡΠ»Π°, ΡΡΡΠΎΠΊΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (ΡΠ»ΠΎΠΆΠ½ΠΎ)) # [1, 2, 3, 4, 5, 6, 7, 8, '9']
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ
- ΠΡΠΎΡ ΡΠ°ΡΡΠ²ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠ΅ΠΏΡΠ° ΠΠΈΠ·Π»ΠΈ, Π. ΠΈ Π. ΠΠΆΠΎΠ½Ρ. Π Π΅ΡΠ΅ΠΏΡ 4.14, ΠΠΎΠ²Π°ΡΠ΅Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Python, 3-Π΅ ΠΈΠ·Π΄., O'Reilly Media Inc. Π‘Π΅Π²Π°ΡΡΠΎΠΏΠΎΠ»Ρ, ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΡ: 2013.
- ΠΠ°ΠΉΠ΄Π΅Π½ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ ΠΏΠΎΡΡ SO, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ.
7
Π§ΡΠΎΠ±Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ iteration_utilities.deepflatten
1 :
>>> ΠΈΠ· iteration_utilities ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ deepflatten >>> l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] >>> list(deepflatten(l, depth=1)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> l = [[1, 2, 3], [4, [5, 6]], 7, [8, 9]] >>> ΡΠΏΠΈΡΠΎΠΊ (Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (l)) [1, 2, 3, 4, 5, 6, 7, 8, 9]
ΠΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊ ΡΠΏΠΈΡΠΊΡ
ΠΈΠ»ΠΈ ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π΅Π³ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iteration_utilities.flatten
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ½ΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ Π²ΠΎΠΊΡΡΠ³ itertools.chain.from_iterable
:
>>> from iteration_utilities import flatten >>> l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] >>> ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (l)) [1, 2, 3, 4, 5, 6, 7, 8, 9]
ΠΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠΌΠΈΠ½Π³ΠΈ (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ²Π΅ΡΠ° ΠΠΈΠΊΠΎ Π¨Π»Π΅ΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π» ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ΅):
ΠΡΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΡΠ°ΡΠΈΠΊ Π΄Π»Ρ ΠΎΡ Π²Π°ΡΠ° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ: ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π»ΡΡΡΠ΅.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ, ΡΠΎ sum
Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΠΎΠΉ Π±ΡΡΡΡΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π΄Π»ΠΈΠ½Π½ΡΡ
ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ itertools.chain.from_iterable
, iteration_utilities.deepflatten
ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ itertools.
β ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ (ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ» ΠΠΈΠΊΠΎ Π¨Π»Π΅ΠΌΠ΅Ρ). chain.from_iterable
ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° itertools ΠΈΠ· functools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ from collections import Iterable # ΠΈΠ»ΠΈ from collections.abc import Iterable ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ· iteration_utilities ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ deepflatten ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ_ΡΠΏΠΈΡΠΊΠ°_ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΡΠΏΠΈΡΠΊΠΎΠ²): return [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² ΡΠΏΠΈΡΠΊΠ°Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅] ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ itertools_chain_from_iterable (ΡΠΏΠΈΡΠΎΠΊ): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (chain.from_iterable (lsts)) Π·Π°ΡΠΈΡΠ° pythons_sum (ΡΠΏΠΈΡΠΎΠΊ): Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ ΡΡΠΌΠΌΠ° (ΡΠΏΠΈΡΠΎΠΊ, []) Π·Π°ΡΠΈΡΠ° ΡΠΌΠ΅Π½ΡΡΠΈΡΡ_Π΄ΠΎΠ±Π°Π²ΠΈΡΡ (ΡΠΏΠΈΡΠΎΠΊ): Π²Π΅ΡΠ½ΡΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (Π»ΡΠΌΠ±Π΄Π° x, y: x + y, lsts) Π·Π°ΡΠΈΡΠ° pylangs_flatten (ΡΠΏΠΈΡΠΎΠΊ): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΡΠΏΠΈΡΠΊΠΈ)) Π΄Π΅Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ (ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ): """ΠΡΠ²ΠΎΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°; ΡΠΌ. REF.""" Π΄Π»Ρ x Π² ΠΏΡΠ½ΠΊΡΠ°Ρ : Π΅ΡΠ»ΠΈ isinstance(x, Iterable), Π° Π½Π΅ isinstance(x, (str, bytes)): Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ (x) Π΅ΡΠ΅: Π²ΡΡ ΠΎΠ΄ Ρ Π·Π°ΡΠΈΡΠ° ΡΠΌΠ΅Π½ΡΡΠΈΡΡ_concat (ΡΠΏΠΈΡΠΎΠΊ): Π²Π΅ΡΠ½ΡΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (operator.concat, lsts) def iteration_utilities_deepflatten (ΡΠΏΠΈΡΠΎΠΊ): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (deepflatten (lsts, depth = 1)) ΠΈΠ· Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ° ΠΈΠΌΠΏΠΎΡΡΠ° simple_benchmark Π± = ΡΡΠ°Π»ΠΎΠ½ ( [nested_list_comprehension, itertools_chain_from_iterable, pythons_sum, reduce_add, pylangs_flatten, reduce_concat, iteration_utilities_deepflatten], arguments={2**i: [[0]*5]*(2**i) Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (1, 13)}, arguments_name = 'ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ²' ) Π±.ΡΡΠ°ΡΡΠΎΠΊ()
1 ΠΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: Ρ ΡΠ²Π»ΡΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
0
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
>>> import numpy as np >>> l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] >>> ΠΏΠ΅ΡΠ°ΡΡ (np.concatenate (l)) [1 2 3 4 5 6 7 8 9]
1
Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° more_itertools
.
> pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ more_itertools
ΠΠ½ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ flatten
(ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΈΠ· ΡΠ΅ΡΠ΅ΠΏΡΠΎΠ² itertools):
import more_itertools Π»ΡΡ = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] ΡΠΏΠΈΡΠΎΠΊ (more_itertools.flatten (lst)) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΄Π»Ρ flatten
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ². Π‘ΠΌ. Π½ΠΈΠΆΠ΅ ΠΎ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 2.4, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ more_itertools.collapse
(ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ abarnet).
Π»ΡΡ = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] ΡΠΏΠΈΡΠΎΠΊ (more_itertools.collapse (lst)) # [1, 2, 3, 4, 5, 6, 7, 8, 9] lst = [[1, 2, 3], [[4, 5, 6]], [[[7]]], 8, 9] # ΡΠ»ΠΎΠΆΠ½Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠΏΠΈΡΠΎΠΊ (more_itertools.collapse (lst)) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
4
ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΈ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ. ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡ x ΠΈΠ· Π»ΡΠΌΠ±Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
ΡΠΌΠ΅Π½ΡΡΠΈΡΡ (Π»ΡΠΌΠ±Π΄Π° x, y: x.extend (y) ΠΈΠ»ΠΈ x, l)
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ + Π² ΡΠΏΠΈΡΠΊΠ°Ρ
.
2
matplotlib.cbook.flatten()
Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π³Π»ΡΠ±ΠΆΠ΅, ΡΠ΅ΠΌ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΈΠΌΠΏΠΎΡΡ ΠΌΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ± Π» = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ (matplotlib.cbook.flatten (l))) l2 = [[1, 2, 3], [4, 5, 6], [7], [8, [9, 10, [11, 12, [13]]]]] ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ (matplotlib.cbook.flatten (l2)))
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
ΠΡΠΎ Π² 18 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅. Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ 1000 ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ._.flatten: 4,63e-04 ΡΠ΅ΠΊ. (Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ._)/(Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ matplotlib.cbook) = 18.1233394636
0
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΠΏΠΈΡΠΊΡ [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ 1 ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠΏΠΈΡΠΊΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sum(list,[])
Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
sum([[1, 2, 3], [4, 5, 6], [7] , [8, 9]],[]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Π½ΡΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ. ΠΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ
map
Π² ΡΠΏΠΈΡΠΎΠΊ
# Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ° ΡΡΠΌΠΌΠ° (ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (ΡΠΏΠΈΡΠΎΠΊ, [[1, 2, 3], (4, 5, 6), (7,), [8, 9]])), []) # [1, 2, 3, 4, 5, 6, 7, 8, 9] #Π ΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (Ρ ): Π΅ΡΠ»ΠΈ ΡΠΈΠΏ (x) β int ΠΈΠ»ΠΈ ΡΠΈΠΏ (x) β float: Π²Π΅ΡΠ½ΡΡΡ [Ρ ] Π΅ΡΠ΅: ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (Ρ ) ΡΡΠΌΠΌΠ° (ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ, [[1, 2, 3], (4, 5, 6), 7, [8, 9)]]))[]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΎΠ½ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ π
3
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ²Π°ΡΡΠΈΡΡ NumPy:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΊΠ°ΠΊ np ΡΠΏΠΈΡΠΎΠΊ (np.ΠΌΠ°ΡΡΠΈΠ² (l).flat)
Π Π°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ.
0
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ°
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
. ΠΠ½ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°ΠΌΡΠΌ Π±ΡΡΡΡΡΠΌ:
flat_list = [] Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l: flat_list.extend (ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ)
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ functools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ itertools ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΡΠΏΠ»ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ functools_reduce_iconcat (Π°): Π²Π΅ΡΠ½ΡΡΡ functools.reduce (operator.iconcat, a, []) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ itertools_chain (Π°): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (itertools.chain.from_iterable (a)) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ numpy_flat (Π°): ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° (numpy.array(a).flat) Π·Π°ΡΠΈΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (Π°): ΠΏ = [] ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (n.extend, Π°)) Π²Π΅ΡΠ½ΡΡΡ Π½ ΠΏΠ΅ΡΡΠΏΠ»ΠΎΡ.ΡΠΎΡ( Π½Π°ΡΡΡΠΎΠΉΠΊΠ° = Π»ΡΠΌΠ±Π΄Π° n: [ΡΠΏΠΈΡΠΎΠΊ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (10))] * n, ΡΠ΄ΡΠ° = [ functools_reduce_iconcat, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, itertools_chain, numpy_flat ], n_range = [2**k Π΄Π»Ρ k Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (16)], xlabel = 'ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΈΡΠΊΠΎΠ²', )
ΠΡΠ²ΠΎΠ΄:
0
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ²Π΅ΡΠΎΠ² Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡ
Π΅ΠΌΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, Π½ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ try
, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ ΠΈ Pythonic .
ΠΏΠΎ ΡΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡ (itr): Π΄Π»Ρ x Π² itr: ΠΏΡΡΠ°ΡΡΡΡ: Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ (x) ΠΊΡΠΎΠΌΠ΅ TypeError: Π²ΡΡ ΠΎΠ΄ Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ : ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ list()
ΠΈΠ»ΠΈ tuple()
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΈΠΊΠ»Π΅ for
.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ (Π΄Π°ΠΆΠ΅ Π±ΡΠ΄ΡΡΠΈΠΌΠΈ!)
- ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΠΈ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ
- ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
- Π½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
- Π±ΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ³Π»Π°Π΄ΠΈΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, Π½Π΅ ΡΡΠ°ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Π°)
- ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΎΡΡ ΠΈΠ»ΠΈ Π² ΡΠΈΠΊΠ»Π΅)
N.B.: ΠΠ°ΡΠΈΠ½Π°Ρ Ρ , Π²ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡΡΡ, ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ/Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ ΠΈ Π±Π°ΠΉΡΡ:
def flatten(itr): Π΅ΡΠ»ΠΈ ΡΠΈΠΏ (itr) Π² (ΡΡΡΠΎΠΊΠ°, Π±Π°ΠΉΡΡ): Π΄Π°ΡΡ ΡΡΠΎ Π΅ΡΠ΅: Π΄Π»Ρ x Π² itr: ΠΏΡΡΠ°ΡΡΡΡ: Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ (x) ΠΊΡΠΎΠΌΠ΅ TypeError: Π²ΡΡ ΠΎΠ΄ Ρ
2
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ . ΠΠΈΠΆΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Python 3.3+, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ yield_from
. six
ΡΠΎΠΆΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, Ρ
ΠΎΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sys.version
.
Π ΡΠ»ΡΡΠ°Π΅ obj = [[1, 2,], [3, 4], [5, 6]]
Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π΄Π΅ΡΡ Ρ
ΠΎΡΠΎΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈ itertools.chain.from_iterable
.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ:
>>> obj = [[1, 2, 3], [4, 5], 6, 'abc', [7], [8, [9, 10] ]]
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
- ΠΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ,
6
, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π»ΡΡΠΎΠΌ; ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΌΠ°ΡΡΡΡΡΡ Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. - ΠΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ,
'abc'
, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ (Π²ΡΠ΅str
s). ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠΈΡΠ°Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊ, Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ β Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. - ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ,
[8, [9, 10]]
, ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈchain.from_iterable
ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Β«1 ΡΡΠΎΠ²Π΅Π½Ρ Π²Π½ΠΈΠ·Β».
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
>>> from collections import Iterable >>> ΠΈΠ· ΡΠ΅ΡΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ string_types >>> def flatten(obj): ... Π΄Π»Ρ i Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅: ... Π΅ΡΠ»ΠΈ isinstance(i, Iterable), Π° Π½Π΅ isinstance(i, string_types): ... Π²ΡΡ ΠΎΠ΄ ΠΈΠ· flatten(i) ... Π΅ΡΠ΅: ... Π²ΡΡ ΠΎΠ΄ Ρ >>> ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (ΠΎΠ±ΡΠ΅ΠΊΡ)) [1, 2, 3, 4, 5, 6, 'Π°Π±Π²', 7, 8, 9, 10]
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ»Π΅ΠΌΠ΅Π½Ρ (1) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Iterable
, ABC ΠΈΠ· itertools
, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ (2) ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Β«ΡΡΡΠΎΠΊΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉΒ».
1
ΠΡΠ»ΠΈ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ numpy.concatenate().tolist()
ΠΈΠ»ΠΈ numpy.concatenate().ravel().tolist()
:
ΠΈΠΌΠΏΠΎΡΡ numpy Π» = [[1, 2, 3], [4, 5, 6], [7], [8, 9]] * 99 %timeit numpy.concatenate(l).ravel().tolist() 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠΈΠΉ ΠΈΠ· 3: 313 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» %timeit numpy.concatenate(l).tolist() 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 3: 312 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ» %timeit [ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ° Π² l Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΊΠ΅] 1000 ΡΠΈΠΊΠ»ΠΎΠ², Π»ΡΡΡΠ΅Π΅ ΠΈΠ· 3: 31,5 ΠΌΠΊΡ Π½Π° ΡΠΈΠΊΠ»
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π΄Π΅ΡΡ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, numpy.concatenate ΠΈ numpy.ravel.
2
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΡΠΏΠΈΡΠΎΠΊ): Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ == []: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ [] elif type(alist) Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ: Π²ΠΎΠ·Π²ΡΠ°Ρ [Π°Π»ΠΈΡΡ] Π΅ΡΠ΅: return flatten(alist[0]) + flatten(alist[1:])
1
ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, [[1], [[[2]], [3]]], [1, 2, 3]
), Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌ (Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, ΠΈ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
ΠΠΎΡ ΡΡΠΎ Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»:
def _flatten(l) -> Iterator[Any]: ΡΡΠ΅ΠΊ = l.copy() Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΊ: ΡΠ»Π΅ΠΌΠ΅Π½Ρ = ΡΡΠ΅ΠΊ.ΠΏΠΎΠΏ() Π΅ΡΠ»ΠΈ isinstance (ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΏΠΈΡΠΎΠΊ): stack.extend(ΡΠ»Π΅ΠΌΠ΅Π½Ρ) Π΅ΡΠ΅: ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΠΈ def flatten(l) -> Iterator[Any]: Π²Π΅ΡΠ½ΡΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (ΡΠΏΠΈΡΠΎΠΊ (_flatten (l)))
ΠΈ ΡΠ΅ΡΡΡ:
@pytest.mark.parametrize('input_list, expect_output', [ ([1, 2, 3], [1, 2, 3]), ([[1], 2, 3], [1, 2, 3]), ([[1], [2], 3], [1, 2, 3]), ([[1], [2], [3]], [1, 2, 3]), ([[1], [[2]], [3]], [1, 2, 3]), ([[1], [[[2]], [3]]], [1, 2, 3]), ]) def test_flatten (Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ_ΡΠΏΠΈΡΠΎΠΊ, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ_Π²ΡΡ ΠΎΠ΄): ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ (Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ (Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ_ΡΠΏΠΈΡΠΎΠΊ)) == ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ_Π²ΡΡ ΠΎΠ΄
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΡΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Π½ΠΎ Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π²ΡΡ
ΡΡΡΠΎΡΠ½ΡΠΉ). ΠΠ±Π΅ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° (PythonΒ 3. 5) ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ.
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ make_list_flat (l): ΡΠ»ΠΈΡΡ = [] flist.extend ([l]), Π΅ΡΠ»ΠΈ (ΡΠΈΠΏ (l) Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ) else [flist.extend (make_list_flat (e)) Π΄Π»Ρ e Π² l] Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π° = [[1, 2], [[[[3, 4, 5], 6]]], 7, [8, [9, [10, 11], 12, [13, 14, [15, [ [16, 17], 18]]]]]] flist = make_list_flat (Π°) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ (ΡΠ»ΠΈΡΡ)
ΠΡΡ ΠΎΠ΄:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ. Π Π΅ΠΊΡΡΡΠΈΡ ΠΈΠ΄Π΅Ρ Π²Π½ΠΈΠ·, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π΅ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΠΏΠΈΡΠΎΠΊ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ flist
, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ flist
, ΠΎΠ½ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ flist
Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΡΠΏΠΈΡΠΊΠ°. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΊΠΎΡΠ½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠ»ΠΎΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ gloabl flist
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
Π° = [[1, 2], [[[[3, 4, 5], 6]]], 7, [8, [9, [10, 11], 12, [13, 14, [15] , [[16, 17], 18]]]]]] ΡΠ»ΠΈΡΡ = [] Π·Π°ΡΠΈΡΠ° make_list_flat (l): flist.extend ([l]) if (ΡΠΈΠΏ (l) Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ) else [make_list_flat (e) Π΄Π»Ρ e Π² l] make_list_flat(Π°) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ (ΡΠ»ΠΈΡΡ)
ΠΡΠ²ΠΎΠ΄ ΡΠ½ΠΎΠ²Π°
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
Π₯ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ.
1
ΠΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ, Π½ΠΎ, ΡΠ²ΠΈΠ΄Π΅Π² Π²ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ Π·Π΄Π΅ΡΡ, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π² ΡΡΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΠΎΡ ΠΎΠ½ΠΎ π
ΠΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ, Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Ρ; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΠΈΠ·Π±Π°Π»ΠΎΠ²Π°Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ):
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΈΠΉ(x): ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ : ΡΠ»ΡΡΠ°ΠΉ []: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ [] ΡΠ»ΡΡΠ°ΠΉ [[*ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ], *r]: return [*sublist, *flat(r)]
ΠΡΠΎΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΏΠΈΡΠΊΠΎΠ². .. Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ:
def flat(x): ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ : ΡΠ»ΡΡΠ°ΠΉ []: Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ [] ΡΠ»ΡΡΠ°ΠΉ [[*ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ], *r]: return [*flat(ΠΏΠΎΠ΄ΡΠΏΠΈΡΠΎΠΊ), *flat(r)] ΡΠ»ΡΡΠ°ΠΉ [h, *r]: Π²Π΅ΡΠ½ΡΡΡ [h, *flat (r)]
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ.
list_of_lists = [[1,2], [2,3], [3,4]] list(set.union(*[set(s) for s in list_of_lists]))
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² a
:
a = np.array([[1,2], [3,4]]) a.flatten('C')
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ:
[1, 2, 3, 4]
np.flatten
ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
C
: -
Π€
-
Π
-
Π
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π΄Π΅ΡΡ.
1
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»:
, Π½Π°Π±ΡΠ°Π² import List def flatten(l: list) -> List[int]: """Π‘Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π».ΠΡΠΈΠΌΠ΅ΡΡ: >>> ΡΠ³Π»Π°Π΄ΠΈΡΡ ([1, 2, [1, [10]]]) [1, 2, 1, 10] ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ: l: Π‘ΠΎΡΠ·[l, Π‘ΠΎΡΠ·[int, Π‘ΠΏΠΈΡΠΎΠΊ[int]] ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: ΠΠ»ΠΎΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» """ return [int(i.strip('[]')) Π΄Π»Ρ i Π² str(l).split(',')]
6
ΠΠ΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΡΠΏΠΈΡΠΊΠΎΠ² Π»ΡΠ±ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ:
def flatten_list(list1): Π²ΡΡ ΠΎΠ΄ = [] Π²Π½ΡΡΡΠΈ = ΡΠΏΠΈΡΠΎΠΊ1 ΠΏΠΎΠΊΠ° Π²Π½ΡΡΡΠΈ: Ρ = Π²Π½ΡΡΡΠΈ.ΠΏΠΎΠΏ(0) Π΅ΡΠ»ΠΈ isinstance(x, ΡΠΏΠΈΡΠΎΠΊ): Π²Π½ΡΡΡΠΈ[0:0] = Ρ Π΅ΡΠ΅: out.append(x) Π²Π΅ΡΠ½ΡΡΡΡΡ Π» = [[[1,2],3,[4,[[5,6],7],[8]]],[9,10,11]] flatten_list (Π») # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
ΠΠ»Ρ ΡΠΏΠΈΡΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΡΠΊΠΎΠ², Π·Π΄Π΅ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΈ, Π½Π°Π΄Π΅ΡΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅:
# ΠΠΎΠΏΡΠΎΡ 4 def flatten (input_ls = []) -> []: res_ls = [] res_ls = flatten_recursive (input_ls, res_ls) print("ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°: \n", res_ls) Π²Π΅ΡΠ½ΡΡΡ res_ls def flatten_recursive(input_ls=[], res_ls=[]) -> []: tmp_ls = [] Π΄Π»Ρ Ρ Π² input_ls: Π΅ΡΠ»ΠΈ isinstance(i, int): res_ls.append(i) Π΅ΡΠ΅: tmp_ls = Ρ tmp_ls.append (flatten_recursive (i, res_ls)) ΠΏΠ΅ΡΠ°ΡΡ (res_ls) Π²Π΅ΡΠ½ΡΡΡ res_ls flatten([0, 1, [2, 3], 4, [5, 6]]) # ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ³Π»Π°Π΄ΠΈΡΡ ([0, [[[1]]], [[2, 3], [4, [[5, 6]]]]])
ΠΡΠ²ΠΎΠ΄:
[0, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°: [0, 1, 2, 3, 4, 5, 6] [0, 1] [0, 1] [0, 1] [0, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°: [0, 1, 2, 3, 4, 5, 6]
Π― Π±Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ yield ΠΈ yield from . ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΈΠ· collections.abc import Iterable def flatten (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ignore_types = (bytes, str)): """ Π‘Π²Π΅ΡΡΠΈ Π²ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ² str ΠΈ bytes ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. """ Π΄Π»Ρ x Π² ΠΏΡΠ½ΠΊΡΠ°Ρ : Π΅ΡΠ»ΠΈ isinstance(x, Iterable), Π° Π½Π΅ isinstance(x, ignore_types): Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ (x) Π΅ΡΠ΅: Π²ΡΡ ΠΎΠ΄ Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ = [7, [4, 3, 5, [7, 3], (3, 4), ('A', {'B', 'C'})]] Π΄Π»Ρ v Π² ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠΈ (Π·Π½Π°ΡΠ΅Π½ΠΈΡ): ΠΏΠ΅ΡΠ°ΡΡ (v)
ΠΡΠ»ΠΈ Ρ Ρ
ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ ΠΊ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΎΡΠ²Π΅ΡΠ°ΠΌ, Π²ΠΎΡ ΠΌΠΎΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ flatten
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, Π½ΠΎ ΠΈ Π»ΡΠ±ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ, ΠΈ ΡΡΠΎ Π»Π΅Π½ΠΈΠ²ΡΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ:
def flatten(iterable): # ΠΡΠΈ ΡΠΈΠΏΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ = ΡΡΡΠΎΠΊΠ°, Π±Π°ΠΉΡ Π΄Π»Ρ Ρ Π² ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ: ΠΏΡΡΠ°ΡΡΡΡ: Π΅ΡΠ»ΠΈ isinstance(i, ΠΈΡΠΊΠ»ΡΡΠΈΡΡ): ΠΏΠΎΠ΄Π½ΡΡΡ TypeError ΠΈΡΠ΅Ρ (Ρ) ΠΊΡΠΎΠΌΠ΅ TypeError: Π²ΡΡ ΠΎΠ΄ Ρ Π΅ΡΠ΅: Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ (i)
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ str
ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅.
ΠΠ΄Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΉΡΠΈ iter()
, ΠΎΠ½ Π³ΠΎΡΠΎΠ² Π²ΡΠ΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π°ΠΆΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·ΡΠ°Π·ΠΈΡΡ: ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΠ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ ΠΏΡΠΎΡΠΈΠ»? Π₯ΠΎΡΠΎΡΠΎ, ΡΡ ΠΏΡΠ°Π². Π― ΠΏΡΠΎΡΡΠΎ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°Π», ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ (ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½Π΅).
Π’Π΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ:
lst1 = [1, {3}, (1, 6), [[3, 8]], [[[5]]], 9, ((((2,),),),)] lst2 = ['3', B'A', [[[(i ** 2 Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (3))]]], Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (3)] ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (lst1))) ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ (ΡΠ³Π»Π°Π΄ΠΈΡΡ (lst2)))
ΠΡΠ²ΠΎΠ΄:
[1, 3, 1, 6, 3, 8, 5, 9, 2] ['3', Π±'Π', 0, 1, 4, 0, 1, 2]
ΠΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π² Π΄ΡΡΠ³ΠΈΡ
ΠΎΡΠ²Π΅ΡΠ°Ρ
.