首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将随机值添加到列表中的所有项目

将随机值添加到列表中的所有项目
EN

Stack Overflow用户
提问于 2021-05-04 12:51:00
回答 1查看 47关注 0票数 1

我有一个清单:

代码语言:javascript
运行
复制
[[[1, 2, 3]], [1, 2, 3], [[2]]]

有没有一种方法可以将一个随机值添加到所有项目中,而不必执行以下操作:

代码语言:javascript
运行
复制
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)]],..
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-04 13:14:45

一种选择是使用递归:

代码语言:javascript
运行
复制
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))

输出:

代码语言:javascript
运行
复制
>>>[[[1, 2, 3]], [1, 2, 3], [[2]]]
>>>[[[10, 10, 5]], [11, 9, 7], [[6]]]

也可以在一行中表达:

代码语言:javascript
运行
复制
from random import randint

def recursion(lst):
    return lst + randint(1, 10) if isinstance(lst, int) else [recursion(item) for item in lst]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67378973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档