Python技术问询:如何打印first_name列表中长度≥4的单词
如何打印列表中长度≥4的单词?
嘿,我来帮你搞定这个问题~你的代码没达到预期效果,核心原因是你判断的是整个列表的长度,而不是列表里每个单词自身的长度。
你当前的代码if len(first_name) >=4是在检查first_name这个列表里有多少个元素(现在是2个),自然不会触发打印逻辑。我们需要逐个检查列表里的每个单词,判断它的长度是否符合要求。
下面给你两种常用的正确实现方式:
方法1:基础for循环遍历判断
这是最直观的方式,逐个遍历列表中的每个名字,检查长度后打印:
first_name = ['john', 'robert'] # 遍历列表里的每一个名字 for name in first_name: # 判断当前名字的长度是否≥4 if len(name) >= 4: print(name)
运行这段代码会输出:
john robert
方法2:列表推导式筛选后处理
如果之后还需要用到这些符合条件的名字,可以先用列表推导式筛选出所有长度≥4的单词,再按需打印:
first_name = ['john', 'robert'] # 筛选出长度≥4的名字,存入新列表 long_names = [name for name in first_name if len(name) >= 4] # 逐个打印筛选后的名字 for name in long_names: print(name)
如果想一次性打印所有符合条件的名字(每行一个),也可以用join简化:
print('\n'.join(long_names))
这样就能完美实现你想要的效果啦~
内容的提问来源于stack exchange,提问作者Jay Dray
相关产品推荐
相关产品推荐

