0
我有点新的Python,所以我想知道是否有完成某事的一种更有效的方式。基本上我需要根据一个随机数(0或1)创建一个来自两个其他数组之一的值的数组。目前使用for循环很容易实现,但我只是好奇,如果有更优雅的/蟒蛇上下的方式来做到这一点,似乎对于Python是如何设计的过于笨重:更有效的方式来创建数组
import random
xySet = ['x', 'y']
xP = [10.1, 11.2, 12.3]
yP = [12.5, 13.2, 14.1]
nObser = 10
x = []
p = []
randVals = [random.randint(0,1) for i in range(nObser)]
print randVals
for i in range(nObser):
x.append(xySet[randVals[i]])
if randVals[i]:
p.append(xP[random.randint(0,2)])
else:
p.append(yP[random.randint(0,2)])
print x
print p
这给了我正确的输出我希望:
[1, 1, 1, 0, 1, 1, 1, 0, 1, 0]
['y', 'y', 'y', 'x', 'y', 'y', 'y', 'x', 'y', 'x']
[12.3, 11.2, 10.1, 13.2, 10.1, 11.2, 12.3, 14.1, 10.1, 13.2]
谢谢!