从python3.4中的2D列表的每一行中选择一个随机数

时间:2014-10-26 18:52:35

标签: python python-3.x

在一个项目中,我有一个这样的列表:

a = [[0, 1, 2, 3], [1, 2, 3], [0, 2, 3], [1, 2]]     

我想从每一行中选择一个数字,这是该行列的索引。示例:如果我们从1st选择0,从2nd选择2,从3rd选择0,从第4行选择1,则输出如下

[['1', '0', '0', '0'], ['0', '0', '1', '0'], ['1', '0', '0', '0'], ['0', '1', '0', '0']]

1 0 0 0  
0 0 1 0  
1 0 0 0  
0 1 0 0 

我的工作如下

for i in range(0,len(a)): 
    print(random.choice(a))

但它打印了一个子列表。

1 个答案:

答案 0 :(得分:0)

这就是你想要的:

a = [[0, 1, 2, 3], [1, 2, 3], [0, 2, 3], [1, 2]]  
for x in a:
    b=[0,0,0,0]
    if x:
        b[x.index(random.choice(x))]=1
        print b
    else:print b