Re: [问题] 如何去除循环后多余的东西

楼主: penut85420 (PenutGGorz)   2019-12-05 21:33:06
如果要用 for loop 来解这个问题
在 list 项目数量大于等于 1 的情况下
可以先印出第一项
然后第二项开始在前面跟个逗号
a = [1, 2, 3, 4, 5]
print(end=f'{a[0]}')
for n in a[1:]:
print(end=f', {n}')
print() # 视情况补个行末换行
作者: s4028600 (佑)   2019-12-06 04:08:00
第2行应该是print(a[0],end='')第4行是把n放到%d吗?
作者: k12795 (远远)   2019-12-06 04:37:00
回一楼 楼主这样写就少打三个符号啊
作者: s4028600 (佑)   2019-12-06 04:50:00
我如果用楼主的会报错所以才改成那样
作者: k12795 (远远)   2019-12-06 04:57:00
看了一下error 因为end要接none或者str 不能接int所以这个例子会错这样
作者: yangs0618 (阿彰)   2019-12-06 10:17:00
作者: tttkkk (学到。)   2019-12-06 10:47:00
推楼上解法 学到一招print(*a) 等于 print(1, 2, 3, 4, 5)
作者: k12795 (远远)   2019-12-06 14:34:00
作者: ddavid (谎言接线生)   2019-12-06 18:35:00
对耶,有*a这招XDpython用zip跟*可以搞一堆奇奇怪怪的组装处理XD然后不能接数字那个问题可以用str(a[0])解决,虽然就会感觉print(a[0], end='')会比print(end=str(a[0]))来得好,虽然可以拿到同样效果,但前者在“意义上”比较正确
作者: cuteSquirrel (松鼠)   2019-12-06 21:54:00
推 *, unpack 好用的运算子, 拿来传参数也很方便
楼主: penut85420 (PenutGGorz)   2019-12-06 23:00:00
修一下原文,个人比较偏好 f string 的写法
作者: s4028600 (佑)   2019-12-08 06:45:00
那个f就真的不懂意思了 有保留原文吗
作者: ddavid (谎言接线生)   2019-12-10 04:38:00
楼上,这是3.6版的新格式化字串用法,参考:http://zetcode.com/python/fstring/简单来说f接的字串里面,可以用大括号直接夹着一个算式,python会evaluate其值来取代那个大括号
作者: grey1001 (grey)   2019-12-13 11:21:00
又学到几招,教学内容大多都还是用% 或{}

Links booklink

Contact Us: admin [ a t ] ucptt.com