Python 不使用列表推导式与for循环 拆分字符串列表为单元素子列表
问题描述
给定Python列表:
m = ['Apple', 'Lemon', 'Orange']
目标输出格式为:['Apple'], ['Lemon'], ['Orange']
实现约束:
- 不允许使用列表推导式
- 不允许使用for循环
当前自行编写的代码存在逻辑缺陷:
def lists(m): count=0 while count < len(m): len(m) count += 1 return #separated lists?
循环体仅执行了无存储作用的len(m)调用,既未对列表元素做格式包装,也未定义结果存储逻辑,同时返回值未绑定具体计算结果,循环执行完成后无法得到有效输出。
可行实现逻辑
基于约束条件,可直接使用while循环完成逐元素处理,不需要引入额外复杂逻辑:
- 定义索引计数器,从0开始遍历原列表
- 定义结果片段存储列表,逐段存入格式化后的单元素列表字符串
- 循环结束后,将所有结果片段用
,拼接为符合要求的最终字符串返回
修正后的可直接运行代码:
def lists(m): count = 0 result_parts = [] while count < len(m): formatted_item = f"['{m[count]}']" result_parts.append(formatted_item) count += 1 return ', '.join(result_parts) m = ['Apple', 'Lemon', 'Orange'] print(lists(m))
运行代码输出与目标完全一致:
['Apple'], ['Lemon'], ['Orange']
内容的提问来源于stack exchange,提问作者Felipe Gorcó a
相关产品推荐
相关产品推荐

