如何对列表转换的字符串中每条迭代记录截取首尾各两个字符?
问题分析与解决
你的代码存在两个核心错误:
- 循环遍历的是
newString的单个字符,而非每条记录,完全没实现遍历处理每条数据的逻辑。 myList[2:-2]是对整个列表做切片,会移除列表的前两个和后两个元素,而非对每个元素的首尾字符进行截取。
方案一:生成字符串时直接处理(推荐)
在将列表元素转为字符串并拼接的过程中,直接对每个元素做首尾截取:
newString = "\n".join([str(item)[2:-2] for item in myList]) print(newString)
方案二:拆分已生成的字符串再处理
如果已经得到了newString,可以先按换行拆分每条记录,处理后重新拼接:
# 拆分字符串为单条记录的列表 lines = newString.split("\n") # 对每条记录截取首尾两个字符 processed_lines = [line[2:-2] for line in lines] # 重新拼接成目标字符串 slicedString = "\n".join(processed_lines) print(slicedString)
两种方案都能输出你期望的结果:
www.test1.com www.test2.com www.test3.com www.test4.com
内容的提问来源于stack exchange,提问作者Python Journeyman
相关产品推荐
相关产品推荐

