π‘ ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Python: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ
1. ΠΠ΅ΡΠΎΠ΄ ΡΡΠ΅Π·Π°: ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ΅Π·Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subarray = array[2:5]
print(subarray)
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΎΡ 2 Π΄ΠΎ 4 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ: [3, 4, 5].
2. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ: ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
subarray = [3, 4, 5]
def check_subarray(arr, sub):
for i in range(len(arr) - len(sub) + 1):
if arr[i:i + len(sub)] == sub:
return True
return False
if check_subarray(array, subarray):
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½!")
else:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π° [3, 4, 5] Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ array. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½!", ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!".
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Python
ΠΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Python. ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ.
ΠΠ΅ΡΠΎΠ΄ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ²
ΠΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
def find_subarray(arr, sub):
n = len(arr)
m = len(sub)
for i in range(n-m+1):
for j in range(m):
if arr[i+j] != sub[j]:
break
else:
return i
return -1
arr = [1, 2, 3, 4, 5, 6]
sub = [3, 4]
index = find_subarray(arr, sub)
if index != -1:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ", index)
else:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
ΠΠ΅ΡΠΎΠ΄ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ NumPy, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ². ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
sub = np.array([3, 4])
index = np.where(np.all(np.equal(arr, sub)), True, False)
if index:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½")
else:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΡΠ΅Π».
ΠΠ΅ΡΠΎΠ΄ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ np.where
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ np.where. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
sub = np.array([3, 4])
index = np.where(np.convolve(arr, sub, mode='valid') == np.sum(sub))
if index[0].size > 0:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΉΠ΄Π΅Π½ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ", index[0][0])
else:
print("ΠΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½")
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°ΠΆΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΠΎΡ Π²Π°ΠΌ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π° Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π½Π° Python.