Streamlit中如何将字典格式输出转换为带序号的指定常规格式?
解决方法
直接修改循环部分的代码,用enumerate生成序号,同时把字典的键值对按你要的格式拼接成字符串即可:
with st.spinner("Seaarching for relevant information.."): if button: results = search(query, top_k=p, index=index, model=model) # 用enumerate从1开始生成序号 for idx, result in enumerate(results, start=1): # 按指定格式拼接字符串,提取字典里的对应字段 output_str = f"{idx}. 'Pdf': '{result.get('Pdf', 'N/A')}', 'Content': '{result.get('Content', 'N/A')}', 'Page no': '{result.get('Page no', 'N/A')}'" st.text(output_str)
补充说明:
enumerate(results, start=1)会给每个结果分配从1开始的序号idxresult.get(key, 'N/A')是为了避免字典里缺少对应键时报错,找不到对应字段时会显示N/A,如果确定每个字典都包含这三个键,也可以直接用result['Pdf']这种写法- 用f-string直接拼接成你需要的格式,输出结果就是带序号的指定样式
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

