-2

输入

[[0 0 0 0 0]
 [0 4 0 0 0]
 [0 1 0 0 0]
 [0 1 2 0 0]
 [0 1 2 3 0]]

预期输出

[[(0, day00) (0, day01) (0, day02) (0, day03) (0, day04)]
 [(0, day10) (4, day11) (0, day12) (0, day13) (0, day14)]
 [(0, day20) (1, day21) (0, day22) (0, day23) (0, day24)]
 [(0, day30) (1, day31) (2, day32) (0, day33) (0, day34)]
 [(0, day40) (1, day41) (2, day42) (3, day43) (0, day44)]]

有关的

  1. 这是一个按比例生成随机日期的函数。
  2. 这里有一个生成随机估值矩阵的函数
4

3 回答 3

1

扫描源矩阵并生成结果矩阵,一对一:

random_matrix = generate_random_matrix(...) # the way you want
result = []
for row in random_matrix:
  result_row = []
  for value in row:
    result_row.append((value, randomDate(...)))
  result.append(result_row)
print result # or whatever

一种更短但更神秘的方法是使用推导:

result = [ 
  [(value, randomDate(...)) for value in row] 
  for row in genenerate_random_matrix(...) 
]
于 2011-10-04T22:06:52.930 回答
0
def o(inputt):
    output = []
    for i, arr in enumerate(inputt):
        n = []
        for j, x in enumerate(arr):
            n.append((x, "day" + str(i) + str(j)))
        output.append(n)
    return output

print o([[0, 0, 0, 0, 0],
 [0, 4, 0, 0, 0],
 [0, 1, 0, 0, 0],
 [0, 1, 2, 0, 0],
 [0, 1, 2, 3, 0]])
于 2011-10-04T22:09:15.077 回答
0
x = [[0, 0, 0, 0, 0,],
     [0, 4, 0, 0, 0,],
     [0, 1, 0, 0, 0,],
     [0, 1, 2, 0, 0,],
     [0, 1, 2, 3, 0,],]

enum = enumerate
[[(item, 'day%02d' % (i*10+j)) for j, item in enum(row)] for i, row in enum(x)]

[[(0, 'day00'), (0, 'day01'), (0, 'day02'), (0, 'day03'), (0, 'day04')],
 [(0, 'day10'), (4, 'day11'), (0, 'day12'), (0, 'day13'), (0, 'day14')],
 [(0, 'day20'), (1, 'day21'), (0, 'day22'), (0, 'day23'), (0, 'day24')],
 [(0, 'day30'), (1, 'day31'), (2, 'day32'), (0, 'day33'), (0, 'day34')],
 [(0, 'day40'), (1, 'day41'), (2, 'day42'), (3, 'day43'), (0, 'day44')]]
于 2011-10-04T22:15:31.600 回答