Python分割字符串后仅返回前5个单词的实现问题求解
问题描述
我是Python初学者,目前正在学习Python基础知识,尝试实现分割字符串后仅展示前5个单词的功能,但编写的代码运行后没有返回预期结果,反而输出了所有单词的前4个字符。
问题代码如下:
fruitstal = "kiwi appel peer mandarijn banaan meloen ananas mango grapefruit" lijst=fruitstal.split() [print (i[:4] for i in lijst]
错误分析
- 语法错误:第三行存在无意义的前置缩进,且括号完全不匹配:
print(缺少对应的右圆括号,列表推导式也缺少闭合的右方括号,代码本身就无法正常执行 - 逻辑错误:
i[:4]的作用是对单个字符串i截取前4个字符,同时你遍历的是分割后的完整单词列表,没有做「取前5个列表元素」的操作,和需求逻辑完全不符。
正确写法
Python列表支持直接通过切片[:n]获取前n个元素,不需要遍历全量单词做字符截断,最简实现如下:
fruitstal = "kiwi appel peer mandarijn banaan meloen ananas mango grapefruit" lijst = fruitstal.split() # 切片[:5]取列表索引0到4的元素,即前5个单词 print(lijst[:5])
如果需要逐行打印前5个单词,可以用循环遍历切片后的结果:
fruitstal = "kiwi appel peer mandarijn banaan meloen ananas mango grapefruit" lijst = fruitstal.split() for word in lijst[:5]: print(word)
内容的提问来源于stack exchange,提问作者matthieu
相关产品推荐
相关产品推荐

