我有如下矩阵:
matrix = [
['a', 'p', 'p', 'l', 'e'],
['a', 'g', 'o', 'd', 'o'],
['n', 'n', 'e', 'r', 't'],
['g', 'a', 'T', 'A', 'C'],
['m', 'i', 'c', 's', 'r'],
['P', 'o', 'P', 'o', 'P']]
我试图找到大对角线下的所有元素。但我希望他们在某种程度上, 例如,理想输出为:
["ocAt", "PsC","or","P"]
(我想要字母以“向右上升对角线”的方式,这里的大对角线是“PiTro”)
我试过这样的方法:
for f in range(len(matrix) - 1, -1, -1):
for k in range(len(matrix)-1, 0, -1):
my_list.append(matrix[k][k-f])
但是我要么得到一个超出范围的索引,要么不是好的元素。 如果有人有办法,我很高兴知道!你知道吗
其他方法:
使用
numpy
:这是实现该结果的一种方法:
或使用理解:
要生成每个对角线中的每个子字符串,可以执行以下操作:
或等效地:
---
上对角线中的子串的一种解决方案:
相关问题 更多 >
编程相关推荐