python - 如何取出字典值中的列表,并添加换行符?
问题描述
如何取出字典值中的列表并使其成为字典的一部分?
这是我要使用的输入:
[{'id': 1, 'step_and_result': [{'step': 'stepA', 'result': 'resultA'}, {'step': 'stepB', 'result': 'resultB'}, {'step': 'stepC', 'result': 'ResultC'}], 'other_key2': random_text}]
这是我想要得到的输出:
[{'id': 1, 'step': 'stepA' + '\n' + 'stepB' + '\n' + 'stepC', 'result': 'resultA' + '\n' + 'resultB' + '\n' + 'resultC', 'other_key2': random_text}]
这样当我将字典放入数据框中时,步骤和结果显示在不同的行上,但在同一个单元格内
我主要停留在如何在列表中的字典中的列表中的列表中给出步骤和结果。谢谢你的帮助。
解决方案
正如 Peter Leimbigler 所说,结果键的预期方式很奇怪。假设您保持相同的名称,这是使用列表推导的解决方案:
# changed first 'result' key to 'expected'
given_input = [{'id': 1, 'step_and_result': [{'step': 'stepA', 'expected': 'resultA'}, {'step': 'stepB', 'expected': 'resultB'}, {'step': 'stepC', 'expected': 'ResultC'}], 'other_key2': random_text}]
given_input[0]['step'] = '\n'.join([d['step'] for d in given_input[0]['step_and_result']])
given_input[0]['result'] = '\n'.join([d['expected'] for d in given_input[0]['step_and_result']])
given_input[0].pop('step_and_result')
推荐阅读
- c# - C# 语法帮助、日期格式和将 " 添加到字符串
- swift - 添加第三个 TextField 时不加载 AlertView
- asp.net - 呈现页面时未加载 es-scripts
- javascript - 如何显示某人正在输入 socket.io
- python - 在新列中转换 JSON 数据
- flutter - ref.listen in Riverpod flutter
- javascript - JavaScript 对象属性包括空格字符
- python - 带有 HEVC 编解码器的 cv2.VideoWriter() 文件格式 .mp4
- sql - 从表中返回一列中的值大于下一列但相邻列中的相应值较小的行
- javascript - 清除旧的间隔 id 计数器后继续增长