簡體   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