我有一个清单:
[[[1, 2, 3]], [1, 2, 3], [[2]]]有没有一种方法可以将一个随机值添加到所有项目中,而不必执行以下操作:
from random import randit
[[[list[0][0][0]+randit(0, 10), list[0][0][1]+randit(0, 10), list[0][0][2]+randit(0, 10)]],..发布于 2021-05-04 13:14:45
一种选择是使用递归:
from random import randint
def substitute(lst):
if isinstance(lst, int):
return lst + randint(1, 10)
else:
for i, item in enumerate(lst):
lst[i] = substitute(item)
return lst
your_list = [[[1, 2, 3]], [1, 2, 3], [[2]]]
print(your_list)
print(substitute(your_list))输出:
>>>[[[1, 2, 3]], [1, 2, 3], [[2]]]
>>>[[[10, 10, 5]], [11, 9, 7], [[6]]]也可以在一行中表达:
from random import randint
def recursion(lst):
return lst + randint(1, 10) if isinstance(lst, int) else [recursion(item) for item in lst]https://stackoverflow.com/questions/67378973
复制相似问题