我对4个列表有问题,每个列表有4个编号:
P1=[3,1,3,4]
P2=[5,4,3,7]
P3=[7,4,8,1]
P4=[10,3,2,1]
我需要以组合方式获得最大的数字,如: 一对2:p1p2,p1p3,p1p4,p2p3,p2p4,p3p4
3对:p1p2p3、p1p2p4、p1p3p4、p2p3p4
4对:p1p2p4p4
结果如下:
p1p2=[5,4,3,7]
p1p3=[7,4,8,4]
p1p4=[10,3,3,4]
我编写了这个程序,并将其存储在矩阵中,而不是列表中。 ' n=int(输入(“输入矩阵大小:”)
matrix=[]
for i in range(n): #loop for rows
c=[]
for j in range(n):# loop for columns
j=int(input("enter the value of P["+str(i)+"]"+"["+str(j)+"]"))
c.append(j)
print() # to make a line between the entries
matrix.append(c) # store the matrix c in the new empty one (matrix)
for i in range(n):
for j in range(n):
print(matrix[i][j], end="")
print()
##############################################
#compar row by row element wise 2 terms
m2t=[]
for i in range(n-1):
for j in range(n):
if(matrix[i][j]>=matrix[i+1][j]):
m2t.append(matrix[i][j])
else:
m2t.append(matrix[i+1][j])
print(m2t,"#1") # check if it get here or not
print()
#printing the matrix of the 2 terms result
for a in range(n-1):
for b in range(n):
print(m2t, end="")
print()
有更好的方法吗
至少还有一种方法。等待更优雅的解决方案
给出以下输出
您可以尝试将
zip
与max
一起使用zip
在p1p4
{max
采用max元素,如[10, 3, 3, 4]
相关问题 更多 >
编程相关推荐