1、有四行数据分别是:
1、4、5
2、3、4
3、5
1、5
2、有12列数据分别是:
1
2
3
4
5
1、4
1、5
2、3
2、4
3、4
3、5
4、5
3、待实现逻辑:
判断每列的数据,是不是都在每一行的数据里,如果是 结果为1 else 0
结果返回一个4行12列的数组
eg:
列数1:1 被包含在 行数1里 结果为 1
列数7:1 、4 不被包含在 行数1里 结果为 0
4、代码逻辑
4.1
将每一行数据的每个数值放到一个列表里,整体再追加到一个大列表里
rows = [[1, 4, 5], [2, 3, 4], [3, 5], [1, 5]]
每列数据同上处理
cols = [[1], [2], [3], [4], [5], [1, 4], [1, 5], [2, 3], [2, 4], [3, 4], [3, 5], [4, 5]]
4.2
判断是否包含,如果是向一维数组追加1,else 追加 0
4.3
按照列数,切分一维数组,组合成4行12列的二维矩阵
5、代码实现
cols = [[1], [2], [3], [4], [5], [1, 4], [1, 5], [2, 3], [2, 4], [3, 4], [3, 5], [4, 5]]
rows = [[1, 4, 5], [2, 3, 4], [3, 5], [1, 5]]
#将包含结果,存放一维矩阵
row1 = []
for row in rows:
for col in cols:
res = [False for c in col if c not in row]
if res:
row1.append(0)
else:
row1.append(1)
#将一维矩阵,切分呈现结果的二维矩阵
row2 = []
#获取一维矩阵的长度
c = len(row1)
#标示位
s = 0
#获取列数
j = c // len(rows)
#切片累加定值
j1 = c // len(rows)
while j <= c:
row2.append(row1[s:j])
s += j1
j += j1
print(row2)