有没有办法如何使用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尝试过,但我的语法有问题。 :/有人知道我的代码有什么问题吗? 谢谢!
答案 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