You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何构造带列表索引值的f-string输入提示语句

原代码直接在f-string中嵌入生成器表达式,最终输出的是生成器对象的默认字符串表示(类似<generator object <genexpr> at 0x100xxxxxx>),不会按预期遍历拼接内容。要实现动态适配work列表的输入提示,可按如下方式编写:

work = ['Read', 'Write', 'Program', 'Email']
# 拼接带索引的选项文本,支持列表动态调整
option_text = ", ".join(f"{index}: {item}" for index, item in enumerate(work))
assign = input(f"Select what you have worked on > {option_text} >")

运行后输入提示效果完全匹配需求:

Select what you have worked on > 0: Read, 1: Write, 2: Program, 3: Email >

实现逻辑说明:

  • 用enumerate(work)遍历列表时,可以同时拿到每个元素的索引和对应值,刚好匹配需要的序号: 内容格式
  • 用", ".join()把所有格式化后的选项用逗号拼接成完整字符串
  • str.join方法原生支持接收可迭代对象,直接传入生成器表达式即可,不需要额外转成列表;后续work列表增删元素时,提示内容会自动同步更新,无需手动修改提示文本。

内容的提问来源于stack exchange,提问作者Shane S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:06:40