python找出1*101的矩阵前100列相同,最后一列要么为1,要么为0的矩阵,并删除最后一列为0的
时间: 2023-06-14 21:02:42 浏览: 105
删除矩阵中相同元素和为0的元素
4星 · 用户满意度95%
可以通过随机生成一个1*101的矩阵,然后循环100次,每次将第一列到第i列取出来,判断是否全部相同,如果是,则将该子矩阵的最后一列加入一个列表中。最后再循环遍历该列表,将最后一列为0的子矩阵删除即可。
以下是示例代码:
```python
import random
# 生成1*101的随机矩阵
matrix = [[random.randint(0, 1) for j in range(101)] for i in range(1)]
# 存储最后一列为1的子矩阵
sub_matrices = []
# 循环100次,依次取出前i列判断是否相同
for i in range(1, 101):
sub_matrix = matrix[:, :i+1]
if len(set(map(tuple, sub_matrix.T))) == 1: # 判断每一列是否相同
if sub_matrix[0][-1] == 1:
sub_matrices.append(sub_matrix)
# 删除最后一列为0的子矩阵
for sub_matrix in sub_matrices:
if sub_matrix[0][-1] == 0:
sub_matrices.remove(sub_matrix)
print(sub_matrices)
```
注意,此代码仅为示例代码,可能存在语法错误或逻辑漏洞,需要根据实际情况进行修改和完善。
阅读全文