不允许使用.join、.append及格式化方法时,如何在Python中实现数组元素的逗号空格分隔字符串拼接(自定义__str__方法场景)
解决方案:用循环+条件判断实现
嘿,当然有办法做到!咱们可以完全依靠基础的循环遍历和条件判断来构建目标字符串,完全不需要用到.join()、.append()或者字符串格式化方法。
假设你的类中存储数组的属性是self.elements(如果不是的话,替换成你实际的属性名就行),实现代码如下:
def __str__(self): return_string = "" # 遍历数组的每个元素,同时拿到索引位置 for index, item in enumerate(self.elements): if index == 0: # 第一个元素直接拼接,不需要前缀的逗号空格 return_string += str(item) else: # 从第二个元素开始,先加逗号空格,再拼接元素内容 return_string += ", " + str(item) return return_string
思路说明:
- 借助
enumerate()同时获取元素的索引和值,方便判断当前元素是不是第一个 - 第一个元素直接拼接到结果字符串,避免开头出现多余的逗号空格
- 从第二个元素开始,先拼接
", "分隔符,再拼接元素的字符串形式,保证元素间的分隔正确 - 完美适配边界场景:
- 数组为空时,返回空字符串
- 数组只有一个元素时,直接返回该元素的字符串,无多余符号
内容的提问来源于stack exchange,提问作者Emma
相关产品推荐
相关产品推荐

