繁体   English   中英

在“分组”列表中查找和替换

[英]Finding and replacing within a 'grouped' list

有没有办法对按组排序的列表进行查找和替换?

设想:

my_list = [[1,5],[3,6],[-1,9]]

我想用 11 替换所有 1 或 3 的值,这样输出是:

my_list = [[11,5],[11,6],[-1,9]]

我已经能够通过创建 3 个变量并将其添加为一个大列表来进行查找替换,但是我仍然想保留相同的形式,因此我想知道如何在它仍处于该形式时进行查找?

列表理解解决方案的替代方法是修改原始列表:

for group in my_list:
    for i, x in enumerate(group):
        if x in {1, 3}:
            group[i] = 11

如果您的列表包含大量元素,这将是最佳选择。

您可以使用嵌套列表理解来实现这一点,例如:

my_list = [[y if y not in [1, 3] else 11 for y in x] for x in my_list]

这保留了嵌套列表结构,并将任何 1 或 3 替换为 11。输出为:

[[11, 5], [11, 6], [-1, 9]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM