如何用更简洁的代码实现Python列表元素逐行打印?
实现列表元素逐行打印的紧凑写法
嘿,刚好有几个简洁又贴合你需求的方案,一起来看看:
1. 用print的解包+分隔符(最推荐)
这应该是最紧凑且直观的写法了,利用Python的解包语法和print的sep参数:
my_list = [1, 2, 3, 4, 5] print(*my_list, sep='\n')
解释:*my_list会把列表里的元素逐个传给print,sep='\n'指定元素之间用换行符分隔,完美实现逐行打印。另外提醒下,别用list当变量名哦,会覆盖Python内置的list类型,后续容易踩坑。
2. 列表推导式/生成器表达式(紧凑但有小瑕疵)
如果你偏爱类似列表推导式的写法,也可以这么写:
my_list = [1, 2, 3, 4, 5] [print(item) for item in my_list]
不过要注意,这个写法会生成一个充满None的列表(因为print函数返回None),虽然不影响打印效果,但如果不想生成这个无用列表,可以用生成器表达式配合any()触发迭代:
any(print(item) for item in my_list)
any()会遍历生成器里的所有元素(因为print返回None,相当于False,所以会走完整个列表),而且不会生成多余的列表,相对更高效一点。
3. 字符串拼接+单次打印
如果你的列表元素都可以转成字符串,还可以用join方法拼接后一次性打印:
my_list = [1, 2, 3, 4, 5] print('\n'.join(map(str, my_list)))
这个方法先把每个整数转成字符串,再用换行符拼接成一个大字符串,最后打印出来,效果也是逐行显示。
内容的提问来源于stack exchange,提问作者Raimon
相关产品推荐
相关产品推荐

