簡體   English   中英

Python 列表中的條件替換

[英]Conditional replace in a Python list

實際值在字典中,如下所示,

{'logsource1': {'product': 'ABC', 'service': 'Proxy'},
 'logsource2': {'product': 'DEF', 'service': 'Proxy'},
 'condition': 'Join logsource1.selection1 and logsource2.selection3 AND ((logsource1.selection2 <= contraint1) AND (logsource2.selection4 <= constraint1))',
  'constraint1': {'Value': '5 minutes', 'Type': 'Datetime'}}}

l1 = ['Join', 'logsource1.selection1', 'and', 'logsource2.selection3', 'AND', '((logsource1.selection2', '<=', 'contraint1)', 'AND', '(logsource2.selection4', '<=', 'constraint1))']

我提取了條件並將其添加到列表 l1 中,以便查找和替換更容易。 同樣,要替換的實際值也是同一個字典的一部分。

output 應該是,

l1 = ['Join', 'ABC.selection1', 'and', 'DEF.selection3', 'AND', '((ABC.selection2', '<=', 'contraint1)', 'AND', ' (DEF.selection4', '<=', 'constraint1))']

假設您將值存儲在字典中:

values = {
    'logsource1.selection1': 'foo',
    'logsource2.selection3': 'bar',
     # etc
}

然后您可以遍歷列表位置並替換:

for i in range(len(l1)):
    if l1[i] in values:
        l1[i] = values[l1[i]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM