如何使用随机选择两个列表

时间:2016-08-30 20:45:04

标签: python

有没有办法如何使用random.choice在两个列表中添加一个数字?说得更清楚,这是我的代码到目前为止:

 mylist_pos = []
 mylist_neg = []

 if score > 0:
    mylist_pos.append(str(score) + 'positive')
 elif score < 0:
    mylist_neg.append(str(score) + 'negative')
 else:
    n = [mylist_pos, mylist_neg]
    add_zero = random.choice(n)
    add_zero.append(score)

我想添加数字&gt; 0到mylist_pos,所有数字&lt;应将0到mylist_neg和数字== 0随机分配给两个列表中的一个,以便它成为mylist_pos或mylist_neg的一部分。我用random.choice尝试过,但我的语法有问题。 :/有人知道我的代码有什么问题吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

你的代码在我的结尾运行正常,但是你的else块中的这一行也会随机地将0分配给任一列表。请务必import random

mylist_neg.append(0) if random.choice([True, False]) else mylist_pos.append(0)

答案 1 :(得分:1)

您的代码对我来说很好。以下是我填写测试的方法:

$.get( "...", function( data ) {
  $("#foo_div").html(data);
  $("#bar_div").html(data);
  $("#baz_div").html(data);
});

输出:

import random
mylist_pos = []
mylist_neg = []

for score in [-3, 3, 2, -2, 1, -1, 0, 0, 0, 0, 0]:
    if score > 0:
       mylist_pos.append(str(score) + 'positive')
    elif score < 0:
       mylist_neg.append(str(score) + 'negative')
    else:
       n = [mylist_pos, mylist_neg]
       print "n =", n
       add_zero = random.choice(n)
       add_zero.append(score)

print mylist_pos
print mylist_neg