如何用列表中的单词替换重复多次的单个单词?

时间:2019-12-26 00:59:29

标签: python json regex lambda itertools

到目前为止我尝试过的事情

node_id = {'method': 'date','method': 'nodeid', 'id': serial_number}
    date = {'method': 'date'}
    frequency = {'method': 'freq', 'id':serial_number}
    bandwidth = {'method': 'bw' , 'id':serial_number}

2 个答案:

答案 0 :(得分:0)

如果您使用简单的for来完成该操作,就像这样:

for item in level_1_methods_lst:
    data_str = data_str.replace("result", item, 1)

希望有帮助

答案 1 :(得分:0)

以下是使用level_1_methods的前三个值的示例代码:

level_1_methods  = [
  {"result": ["51485"], "id": "51485", "jsonrpc": "2.0"},
  {"result": ["1515106787"], "jsonrpc": "2.0"},
  {"result": ["2240"], "id": "51485", "jsonrpc": "2.0"}
]

level_1_methods_lst = ['node_id', 'date', 'frequency']

for i in range(len(level_1_methods)):
  key = level_1_methods_lst[i]
  value = level_1_methods[i]['result']

  level_1_methods[i][key] = value
  level_1_methods[i].pop('result')

  print(level_1_methods[i])


>>> {'id': '51485', 'jsonrpc': '2.0', 'node_id': ['51485']}
>>> {'date': ['1515106787'], 'jsonrpc': '2.0'}
>>> {'id': '51485', 'frequency': ['2240'], 'jsonrpc': '2.0'}

您需要将level_1_methods从元组更改为列表。此外,输出的字典按字母顺序排列,如果您需要提取信息,则不会有任何区别。我希望这会有所帮助。