def getDictsOfLine(line):
SYMBOL = []
SYMBOL_dict = {}
SYMBOL_L = []
SYMBOL_R = []
last_result = []
line_list = list(line)
line_list_length = len(line_list)
for i in range(0, line_list_length):
if line_list[i] == '{':
SYMBOL.append(i)
SYMBOL_dict[i] = line_list[i]
elif line_list[i] == '}':
SYMBOL.append(i)
SYMBOL_dict[i] = line_list[i]
result = []
result_dict = {}
for i in SYMBOL:
info = SYMBOL_dict[i]
if info == '{':
result.append(i)
if len(result) == 1:
SYMBOL_L.append(i)
elif info == '}':
result.pop()
if len(result) == 0:
SYMBOL_R.append(i)
for i in range(0, len(SYMBOL_L)):
result_dict[SYMBOL_L[i]] = SYMBOL_R[i]
for i in result_dict:
line_dict = line[i:result_dict[i] + 1]
last_result.append(line_dict)
return last_result
使用python获取一行文本中所有的dict(map)并返回所有的dict组成的list列表(括号匹配算法的延申)
最新推荐文章于 2022-03-28 10:14:20 发布
此篇博客介绍如何使用Python函数getDictsOfLine,解析复杂的JSON字符串,提取并组织成易读的键值对。通过逐行遍历和符号匹配,它能有效处理大括号标识的开始和结束,适用于处理前后端交互的数据解析工作。
摘要由CSDN通过智能技术生成