17 python3 print函数的参数使用

刚刚开始学习python,遇到一些比较基础的问题,请各位前辈赐教。

g = ( x * x for x in range(1,5) )
for n in g:
        print(n, end=',')

print()

我希望打印结果是:
1,4,9,16
最后没有',',而是一个换行,现在我在后面再加一个没有参数的print可以打印换行,但是最后一个数字后面的','还是有,我试了sep参数不起作用,不知道应该怎么处理,是否print函数还有其他参数可以用来做类似的事情?


请先 登录 后评论

最佳答案 2021-09-23 22:50

谢谢!这样可以了。join的参数得是字符串,g的元素原来都是int,对吧?
如果g = ( x for x in 'ABC' )
我就可以直接print(','.join(g))了,这样理解对吗?
请先 登录 后评论

其它 7 个回答

韩东阳
  1. print(','.join(map(str, g)))
复制代码
请先 登录 后评论
乔衣
直接这样更好:
  1. print(','.join(g))
复制代码
请先 登录 后评论
李宗县
非常感谢你的回复,但是g是一个generator,我这样写会提示:TypeError: can only join an iterable
请先 登录 后评论
白沐沐
我的代码:
  1. g = ( x * x for x in range(1,5) )
  2. print(type(g))
  3. print(','.join(map(str, g)))
复制代码
运行结果见附件:
请先 登录 后评论
花瓣片儿

请先 登录 后评论
毒药小哥

请先 登录 后评论
黑小黑咻
围观学习中,,,看看
请先 登录 后评论
  • 8 关注
  • 0 收藏,364 浏览
  • 乡下女孑 提出于 2021-09-23 22:49

相似问题