【发布时间】:2014-01-21 05:10:39
【问题描述】:
我正在尝试进行内联均匀分布初始化,但如果可能的话,似乎不知道如何做。
我的工作代码是:
test = [[1,2,3],[4,5,6],[7,8,9]]
p = []
for row in test:
prow = [1.0/(len(row)*len(test)) for x in row]
p.append(prow)
print p
[[0.1111111111111111, 0.1111111111111111, 0.1111111111111111],
[0.1111111111111111, 0.1111111111111111, 0.1111111111111111],
[0.1111111111111111, 0.1111111111111111, 0.1111111111111111]]
我的问题是,有没有办法将“测试中的 for 行”缩小到与第二个循环相同的形式,最终只有 1 行?比如:
p = [1.0/(len(row)*len(test)) for x in row for row in test]
print p
[0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111,
0.1111111111111111]
但显然是正确的结果。线索?
【问题讨论】:
-
你们速度很快!谢谢!还不能接受答案。
标签: python python-2.7