我有一个包含两个列表的列表,我希望随机选择这两个列表中的一个值,然后将它们乘以0.5
例如,我收到一个这样的列表:
[[-0.03680804604507722, 0.022112919584121357], [0.05806232738548797, -0.004015137642131433]]
答案 0 :(得分:1)
你想要做的是迭代你的列表列表,并在每个列表中,随机选择一个索引,将该索引处的值乘以0.5并将其放回列表中。
import random
l = [[-0.03680804604507722, 0.022112919584121357], [0.05806232738548797, -0.004015137642131433]]
# for each sub list in the list
for sub_l in l:
# select a random integer between 0, and the number of elements in the sub list
rand_index = random.randrange(len(sub_l))
# and then multiply the value at that index by 0.5
# and store back in sub list
sub_l[rand_index] = sub_l[rand_index] * 0.5
答案 1 :(得分:1)
您可以使用randint
和列表的长度。
from random import randint
lst = [[-0.03680804604507722, 0.022112919584121357], [0.05806232738548797, -0.004015137642131433]]
for L in lst:
L[randint(0, len(L) - 1)] *= 0.5