我有两个列表,我希望在A中有特定的子列表元素(y)被列表B中的元素随机替换。
A=[[x, y], [z, y], [b, y]]
B=[y1, y2]
所以一些可能的输出可能看起来像这样,
A=[[x, y1], [z, y1], [b, y2]]
A=[[x, y2], [z, y2], [b, y2]]
A=[[x, y2], [z, y2], [b, y1]]
但一次只能输出1个。如果代码再次运行,可能会有另一个输出,所以一个。我不太确定如何处理此问题,因此感谢您的帮助。
您可以保留[0]
元素,然后用于random.choice
从中随机选择一个元素B
以用作该[1]
元素。
import random
def random_replace(A, B):
return [[i[0], random.choice(B)] for i in A]
一些例子
>>> random_replace(A, B)
[['x', 'y2'], ['z', 'y2'], ['b', 'y1']]
>>> random_replace(A, B)
[['x', 'y2'], ['z', 'y1'], ['b', 'y1']]
>>> random_replace(A, B)
[['x', 'y1'], ['z', 'y2'], ['b', 'y2']]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句