Python中将列表转换为字符串并解决打印换行问题
解决Python列表元素打印不在同一行的问题
你的代码里每次循环都调用print(),而Python的print()默认会在输出结尾加换行符,所以每个元素都单独占了一行。下面给你几种简单的解决办法:
方法一:修改
print()的end参数
把默认的换行符换成你需要的分隔符,比如逗号加空格,这样每个元素输出后不会换行:spam = ['apples', 'bananas', 'tofu', 'cats'] for i in spam: print(i, end=', ')注意这种方式最后会多一个分隔符,要是在意的话可以单独处理最后一个元素。
方法二:用
join()拼接字符串(推荐)
直接把列表里的所有字符串元素拼接成一个完整的字符串,再一次性打印,这是最简洁的方式:spam = ['apples', 'bananas', 'tofu', 'cats'] print(', '.join(spam))如果列表里有非字符串类型的元素,只要先把每个元素转成字符串就行:
spam = ['apples', 123, 'tofu', True] print(', '.join(str(item) for item in spam))方法三:手动拼接字符串后打印
先把所有元素拼到一个字符串里,去掉最后多余的分隔符再打印:spam = ['apples', 'bananas', 'tofu', 'cats'] output_str = '' for item in spam: output_str += item + ', ' print(output_str.rstrip(', '))
内容的提问来源于stack exchange,提问作者DarkPhinx
相关产品推荐
相关产品推荐

