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

如何将列表中连续递增1的特定子序列转换为字符串?

问题分析与修复

你的代码问题出在返回结果的格式化步骤:str("".join(str(elements)))会把整个列表直接转为带方括号的字符串(比如str([4,5,6,7])就是"[4, 5, 6, 7]"),空串""的join操作完全没起到作用,所以输出带方括号。

修复后的代码片段

def __str__(self):
    for x, y in itertools.groupby(enumerate(self.lst), lambda z: z[0] - z[1]):
        elements = [i[1] for i in y]
        if len(elements) > 1:
            return ", ".join(map(str, elements))

关键修改说明

  • 用map(str, elements)把序列里的每个数字转换成字符串类型
  • 用", ".join(...)将这些字符串以「逗号+空格」分隔的方式拼接,直接得到你需要的"4, 5, 6, 7"格式
  • 移除了冗余的str()和空串join操作,因为join本身返回的就是字符串类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:39:22