作者penut85420 (大歐派蘿莉)
看板Python
標題Re: [問題] 如何去除迴圈後多餘的東西
時間Thu Dec 5 21:33:06 2019
如果要用 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() # 視情況補個行末換行
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.172.176 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1575552788.A.C79.html
※ 編輯: penut85420 (223.137.172.176 臺灣), 12/05/2019 21:34:12
1F:推 s4028600: 第2行應該是print(a[0],end='')12/06 04:08
2F:→ s4028600: 第4行是把n放到%d嗎?12/06 04:09
3F:推 k12795: 回一樓 樓主這樣寫就少打三個符號啊12/06 04:37
4F:推 s4028600: 我如果用樓主的會報錯所以才改成那樣12/06 04:50
5F:推 k12795: 看了一下error 因為end要接none或者str 不能接int所以這12/06 04:57
6F:→ k12795: 個例子會錯這樣12/06 04:57
8F:推 tttkkk: 推樓上解法 學到一招12/06 10:47
9F:推 tttkkk: print(*a) 等於 print(1, 2, 3, 4, 5)12/06 10:52
10F:→ k12795: 酷12/06 14:34
11F:→ ddavid: 對耶,有*a這招XD12/06 18:35
12F:→ ddavid: python用zip跟*可以搞一堆奇奇怪怪的組裝處理XD12/06 18:36
13F:→ ddavid: 然後不能接數字那個問題可以用str(a[0])解決,雖然就會感12/06 18:38
14F:→ ddavid: 覺print(a[0], end='')會比print(end=str(a[0]))來得好,12/06 18:39
15F:→ ddavid: 雖然可以拿到同樣效果,但前者在「意義上」比較正確12/06 18:39
16F:推 cuteSquirrel: 推 *, unpack 好用的運算子, 拿來傳參數也很方便12/06 21:54
※ 編輯: penut85420 (114.136.166.27 臺灣), 12/06/2019 23:00:26
17F:→ penut85420: 修一下原文,個人比較偏好 f string 的寫法 12/06 23:00
18F:推 s4028600: 那個f就真的不懂意思了 有保留原文嗎 12/08 06:45
19F:推 ddavid: 樓上,這是3.6版的新格式化字串用法,參考: 12/10 04:38
21F:→ ddavid: 簡單來說f接的字串裡面,可以用大括號直接夾著一個算式, 12/10 04:40
22F:→ ddavid: python會evaluate其值來取代那個大括號 12/10 04:41
23F:推 grey1001: 又學到幾招,教學內容大多都還是用% 或{} 12/13 11:21