在Python中随机抽样一个元素而不将其列为列表
我有4个列表,它们本身就是列表,因为它们包含3D点坐标 示例在Python中随机抽样一个元素而不将其列为列表,python,list,random,parent,Python,List,Random,Parent,我有4个列表,它们本身就是列表,因为它们包含3D点坐标 示例 var1 = [[0.09476800262928009, -0.23948000371456146, 0.22791500389575958], [0.015838999301195145, 0.2482910007238388, 0.16062000393867493]] 我需要从这4个列表中选择一个随机列表,而不是将其本身作为列表 我现在用这句简单的话做这件事: randomVar = random.samp
var1 = [[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
我需要从这4个列表中选择一个随机列表,而不是将其本身作为列表
我现在用这句简单的话做这件事:
randomVar = random.sample([var1, var2, var3, var4], 1)
[[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]]
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
>>> print randomVar
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
这给了我这个结果:
randomVar = random.sample([var1, var2, var3, var4], 1)
[[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]]
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
>>> print randomVar
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
但我需要这个:
randomVar = random.sample([var1, var2, var3, var4], 1)
[[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]]
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
>>> print randomVar
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
估计这个问题的答案会很简单,但我到目前为止还没有找到解决办法。对脚本编写来说还是很新的,所以如果我忽略了一个显而易见的解决方案,请原谅我
randomVar = random.sample([var1, var2, var3, var4], 1)[0]
这将产生您想要的结果
示例输出:
randomVar = random.sample([var1, var2, var3, var4], 1)
[[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]]
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
>>> print randomVar
[[0.09476800262928009, -0.23948000371456146, 0.22791500389575958],
[0.015838999301195145, 0.2482910007238388, 0.16062000393867493]]
randomVar=random.sample([var1,var2,var3,var4],1)[0]这样行吗?