37,720
社区成员
发帖
与我相关
我的任务
分享
# transpose
def transpose(mat):
return [[mat[row][col] for row in range(len(mat))] for col in range(len(mat[0]))]
# print matrix
def printmat(mat):
for row in mat:
for col in row:
print '{0:2d}'.format(col),
print
# test
row, col = 4, 4
a = [[x for x in range(i*row,i*row+col)] for i in range(row)]
# original
print 'Original'
printmat(a)
# transpose
print '\nTransposed'
printmat(transpose(a))
测试
>>> ================================ RESTART ================================
>>>
Original
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
Transposed
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15
>>>
print "input the amount of rows"
n=input()
print "input the amount of columns"
m=input()
lists_1 = [[] for i in range(n)]
lists_2 = [[] for i in range(m)]
lists_3 = [[] for i in range(n)]
lists_4 = [[] for i in range(m)]
for i in range(n):
for j in range(m):
x=raw_input()
lists_1[i].append(x)
lists_2= map(list, zip(*lists_1))
for i in range(n):
lists_3[i].append(lists_1[i][0])
for j in range(m):
for k in range(j+1,m):
if(lists_1[i][k]!=lists_1[i][j]):
cnt=0
for d in range(len(lists_3[i])):
if(lists_1[i][k]!=lists_3[i][d]):
cnt=cnt+1
if(cnt==len(lists_3[i])):
lists_3[i].append(lists_1[i][k])
for i in range(m):
lists_4[i].append(lists_2[i][0])
for j in range(n):
for k in range(j+1,n):
if(lists_2[i][k]!=lists_2[i][j]):
cnt=0
for d in range(len(lists_4[i])):
if(lists_2[i][k]!=lists_4[i][d]):
cnt=cnt+1
if(cnt==len(lists_4[i])):
lists_4[i].append(lists_2[i][k])
print lists_1
print lists_2
print lists_3
print lists_4
a=[['a','b','c','a'],
['e','b','d','f'],
['h','g','h','h']]
b = [list(set(x)) for x in a]
print(b)
>>> a=[ ['a','b','c','a'],
['e','b','d','f'],
['h','g','h','h']]
>>> a
[['a', 'b', 'c', 'a'], ['e', 'b', 'd', 'f'], ['h', 'g', 'h', 'h']]
>>> b = []
>>> c = []
>>> for m in a:
c = []
for n in m:
if n not in c:
c.append(n)
b.append(c)
>>> b
[['a', 'b', 'c'], ['e', 'b', 'd', 'f'], ['h', 'g']]