小编MrS*_*oLo的帖子

如何随机替换嵌套列表中的特定元素?

我有一份清单清单.如何创建一个随机替换10的实例与另一个数字的函数?

lst = [ [10, 100, 10 ], [10, 1000, 10], [100, 100000, 100], [10, 10, 0] ]
Run Code Online (Sandbox Code Playgroud)

这是我的代码.我只能设法得到一个扁平列表而不是嵌套列表.如何获得嵌套列表,是否有更有效的方法?

import random

def random_replace10(num, lst): # replaces 10 with num
    indexes = []
    flattened = [num for row in lst for num in row]
    for ind, ele in enumerate(flattened):
        if ele == 10:
            indexes.append(ind)

    random_index = random.sample(indexes, 1)[0]
    flattened[random_index] = num
    return flattened           #Returns a flattened list instead of a nested list.


print(random_replace10(2, lst))

>>> [ [10, 100, 2 ], [10, …
Run Code Online (Sandbox Code Playgroud)

python random replace element list

2
推荐指数
1
解决办法
114
查看次数

标签 统计

element ×1

list ×1

python ×1

random ×1

replace ×1