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