列表推导式解析
刚入门python的时候,总是遇到一些列表推导式 看见很头疼,今天就来逐步解析一下
原始代码
memory_content = "\n".join([f"- {doc.page_content}" for doc in results])
步骤一
- results是个列表
- 列表中的每个元素doc是一个对象
- 每个doc对象都有一个属性page_content
results = [doc1, doc2, doc3]
doc1.page_content = "这是第一段内容"
doc2.page_content = "这是第二段内容"
doc3.page_content = "这是第三段内容"
步骤二
[f"- {doc.page_content}" for doc in results] 列表推导式
- 遍历results中的每个doc对象
- 对每个doc.page_content 前面加上 "- "
- 生成一个新的字符串列表
["- 这是第一段内容", "- 这是第二段内容", "- 这是第三段内容"]
步骤三
"\n".join(....)
- 用换行符\n 将列表中的所有字符串连接起来,形成一个字符串
"- 这是第一段内容\n- 这是第二段内容\n- 这是第三段内容"
步骤四
赋值给memory_content