Cho một chuỗi, chuyển đổi nó thành ma trận, có K ký tự trong mỗi hàng.
Đầu vào: test_str = 'geekforgeek là tốt nhất', k = 7 & nbsp; đầu ra: ['g', 'e', 'e', 'k', 's', 'f', 'o'], ['r ',' G ',' e ',' e ',' k ',' s ',' '], [' i ',' s ',' ',' b ',' e ',' s ', 't']] & nbsp; Giải thích: Mỗi ký tự được gán cho 7 phần tử trong ma trận. : test_str = ‘GeeksforGeeks is best’, K = 7
Output : [[‘G’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’], [‘r’, ‘G’, ‘e’, ‘e’, ‘k’, ‘s’, ‘ ‘], [‘i’, ‘s’, ‘ ‘, ‘b’, ‘e’, ‘s’, ‘t’]]
Explanation : Each character is assigned to 7 element row in matrix.Đầu vào: test_str = 'geekforgeek', k = 7 & nbsp; đầu ra: [['g', 'e', 'e', 'k', 's', 'f', 'o'], ['r', 'G', 'e', 'e', 'k', 's', '' ']]] & nbsp; giải thích: Mỗi ký tự được gán cho 7 hàng phần tử trong ma trận. : test_str = ‘GeeksforGeeks ‘, K = 7
Output : [[‘G’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’], [‘r’, ‘G’, ‘e’, ‘e’, ‘k’, ‘s’, ‘ ‘]]
Explanation : Each character is assigned to 7 element row in matrix.
Phương pháp số 1: Sử dụng danh sách hiểu + cắt
Sự kết hợp của các chức năng trên có thể được sử dụng để giải quyết vấn đề này. Trong đó, trước tiên chúng tôi trích xuất các chuỗi riêng biệt cho mỗi hàng bằng cách sử dụng cắt và danh sách hiểu. Sau đó chuyển đổi từng chuỗi thành một danh sách ký tự bằng danh sách [].
Python3
def
convertToMatrix[test_str, K]:
temp
=
a = "1 2 3; 4 5 6"
aSplit = a.split['; ']
l = []
for item in aSplit:
subl = []
for num in item.split[' ']:
subl.append[int[num]]
l.append[subl]
print l
1=
a = "1 2 3; 4 5 6"
aSplit = a.split['; ']
l = []
for item in aSplit:
subl = []
for num in item.split[' ']:
subl.append[int[num]]
l.append[subl]
print l
3__
def
1
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
5def
3 +
def
5def
6def
7=
def
9
def
1
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
5convertToMatrix[test_str, K]:
2 +
def
5convertToMatrix[test_str, K]:
5convertToMatrix[test_str, K]:
6=
convertToMatrix[test_str, K]:
8
convertToMatrix[test_str, K]:
9
Output:
Chuỗi ban đầu là: GeekSforGeek tốt nhất là ma trận đã chuyển đổi: [['g', 'e', 'e', 'k', 's', 'f', 'o'], ['r', 'g ',' e ',' e ',' k ',' s ',' '], [' i ',' s ',' ',' b ',' e ',' s ',' t ']] ]
Độ phức tạp về thời gian: O [n]: O[n]
Không gian phụ trợ: O [n] O[n]
Phương pháp số 2: Sử dụng danh sách hiểu + bản đồ [] + cắt lát
Đây là một cách khác mà nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi thực hiện nhiệm vụ theo cách tương tự như các chức năng trên, sự khác biệt được chuyển đổi thành danh sách được thực hiện bằng cách sử dụng map [] thay vì danh sách hiểu.
Python3
def
convertToMatrix[test_str, K]:
temp
=
a = "1 2 3; 4 5 6"
aSplit = a.split['; ']
l = []
for item in aSplit:
subl = []
for num in item.split[' ']:
subl.append[int[num]]
l.append[subl]
print l
1=
a = "1 2 3; 4 5 6"
aSplit = a.split['; ']
l = []
for item in aSplit:
subl = []
for num in item.split[' ']:
subl.append[int[num]]
l.append[subl]
print l
3__
def
1
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
5def
3 +
def
5def
6def
7=
def
9
def
1
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
5convertToMatrix[test_str, K]:
2 +
def
5convertToMatrix[test_str, K]:
5convertToMatrix[test_str, K]:
6=
convertToMatrix[test_str, K]:
8
convertToMatrix[test_str, K]:
9
Output:
Chuỗi ban đầu là: GeekSforGeek tốt nhất là ma trận đã chuyển đổi: [['g', 'e', 'e', 'k', 's', 'f', 'o'], ['r', 'g ',' e ',' e ',' k ',' s ',' '], [' i ',' s ',' ',' b ',' e ',' s ',' t ']] ]
Độ phức tạp về thời gian: O [n]: O[n]
Không gian phụ trợ: O [n] O[n]
0
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
- Tôi có một chuỗi
+
8. Làm cách nào để thể hiện điều này dưới dạng ma trận+
9 trong Python? - Sau đó, tôi muốn sử dụng một chuỗi khác
00 như vậy, chuyển đổi thành ma trận và tìm>>> A = np.matrix["1 2 3; 4 5 6"] >>> B = np.matrix["2 3; 4 5; 6 7"] >>> A * B matrix[[[28, 34], [64, 79]]]
01.>>> A = np.matrix["1 2 3; 4 5 6"] >>> B = np.matrix["2 3; 4 5; 6 7"] >>> A * B matrix[[[28, 34], [64, 79]]]
Cory Kramer
109K15 Huy hiệu vàng157 Huy hiệu bạc207 Huy hiệu đồng15 gold badges157 silver badges207 bronze badges
Hỏi ngày 7 tháng 8 năm 2015 lúc 12:38Aug 7, 2015 at 12:38
1
Bạn có thể sử dụng mô -đun
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
02 để tạo ma trận trực tiếp từ một chuỗi ở định dạng loại MATLAB>>> import numpy as np
>>> a="1 2 3; 4 5 6"
>>> np.matrix[a]
matrix[[[1, 2, 3],
[4, 5, 6]]]
Bạn có thể sử dụng cùng một thư viện để thực hiện phép nhân ma trận
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
Đi đọc trên thư viện
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
02, đây là một mô -đun rất mạnh để thực hiện tất cả các loại công việc mà bạn đang đề cập.Đã trả lời ngày 7 tháng 8 năm 2015 lúc 12:41Aug 7, 2015 at 12:41
Cory Kramercory KramerCory Kramer
109K15 Huy hiệu vàng157 Huy hiệu bạc207 Huy hiệu đồng15 gold badges157 silver badges207 bronze badges
Đây là một cách để thực hiện nó, chia chuỗi tại
>>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
04, sau đó đi qua từng chuỗi, phân chia tại >>> A = np.matrix["1 2 3; 4 5 6"]
>>> B = np.matrix["2 3; 4 5; 6 7"]
>>> A * B
matrix[[[28, 34],
[64, 79]]]
05 và sau đó đi qua đó, chuyển đổi nó thành INT và nối vào một người phụ, sau đó nối trình phụ trợ đó sang danh sách khác:a = "1 2 3; 4 5 6"
aSplit = a.split['; ']
l = []
for item in aSplit:
subl = []
for num in item.split[' ']:
subl.append[int[num]]
l.append[subl]
print l
Đã trả lời ngày 7 tháng 8 năm 2015 lúc 12:49Aug 7, 2015 at 12:49
Heinstheinstheinst
8.2207 Huy hiệu vàng38 Huy hiệu bạc77 Huy hiệu đồng7 gold badges38 silver badges77 bronze badges