π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² ΠΠΈΡΠΎΠ½Π΅? π
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠ° ΡΠΈΡΠ΅Π».
numbers = [12, 34, 5, 67, 89]
sorted_numbers = sorted(numbers)
second_largest = sorted_numbers[-2]
print(second_largest)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» ΠΈ ΡΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sorted(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ (-2). ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² ΠΏΠΈΡΠΎΠ½Π΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² Python. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π½Π°Π²ΡΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅.
numbers = [5, 2, 8, 3, 1]
numbers.sort(reverse=True)
second_largest = numbers[1]
print(second_largest)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» [5, 2, 8, 3, 1] ΠΈ ΡΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° sort(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ 1, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ second_largest. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ second_largest.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ max() ΠΈ remove()
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ max() ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° remove(). ΠΡ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ ΡΠ΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ max() Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°.
numbers = [5, 2, 8, 3, 1]
max_num = max(numbers)
numbers.remove(max_num)
second_largest = max(numbers)
print(second_largest)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ max() ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ max_num. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° remove(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ max() Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠΎΡΡΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ sorted()
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sorted(). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» Π² ΡΡΠ½ΠΊΡΠΈΡ sorted(), ΠΈ ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠΎΡΡΠΈΡΡΠ΅Ρ ΠΈΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ, ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
numbers = [5, 2, 8, 3, 1]
sorted_numbers = sorted(numbers)
second_largest = sorted_numbers[-2]
print(second_largest)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ sorted_numbers, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° numbers. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ -2, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅, ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ second_largest. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ heapq.nlargest()
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ heapq.nlargest(). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΉΡΠΈ, Π² ΡΡΠ½ΠΊΡΠΈΡ heapq.nlargest(). ΠΠ½Π° Π²Π΅ΡΠ½Π΅Ρ Π½Π°ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΠ΅Π», ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
import heapq
numbers = [5, 2, 8, 3, 1]
second_largest = heapq.nlargest(2, numbers)[-1]
print(second_largest)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ heapq ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ nlargest(). ΠΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ 2 ΠΈ numbers, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΉΡΠΈ Π΄Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΠ»Π° Π² ΡΠΏΠΈΡΠΊΠ΅ numbers. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ -1, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΠ΅Π», ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ second_largest. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΈΡΠ»ΠΎ Π² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ²ΠΎΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅Π»Π°Ρ Π²Π°ΠΌ ΡΡΠΏΠ΅Ρ Π° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²!