Witam, mam pytanie jak zrobić wycinek macierzy, przykładowo mam macierz
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
I chciałbym pobrać liczby 13 14 18 19
0
0
Jak możesz, to spróbuj numpy
https://numpy.org/
0
Masz na myśli macierz w rozumieniu algebry liniowej (używasz jakiejś biblioteki?), czy po prostu masz na myśli listę?
Jak chodzi o zwykłą listę, to możesz zrobić slice: https://stackoverflow.com/questions/509211/understanding-slice-notation
np.
[10, 20, 30, 40, 50][1:3] będzie [20, 30]
2
Prosto można listą składaną (ang. list comprehension):
def wycinek(macierz, w1, w2, k1, k2):
return [ w[k1:k2] for w in macierz[w1:w2] ]
macierz = [
[ 1, 2, 3, 4, 5 ],
[ 6, 7, 8, 9, 10 ],
[ 11, 12, 13, 14, 15 ],
[ 16, 17, 18, 19, 20 ],
[ 21, 22, 23, 24, 25 ],
]
print(wycinek(macierz, 2, 4, 2, 4))
Wynik:
[[13, 14], [18, 19]]
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.