作者s4028600 (佑)
看板Python
標題[問題] 如何去除迴圈後多餘的東西
時間Thu Dec 5 04:12:24 2019
列表搞錯了
請看下面的編輯
print的結果是
1,2,3,4,5,
中間的逗號要留著
5後面的逗號想刪除
讓print變成
1,2,3,4,5
試過rstrip沒效果...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.134.122 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1575490346.A.526.html
※ 編輯: s4028600 (125.230.134.122 臺灣), 12/05/2019 04:17:39
1F:推 yummy8765: 你可以找看看 ','.join()的用法 取代for loop12/05 06:49
2F:→ yummy8765: 之前在學C++時要這樣做 只能多加if判斷是否跑到最後一12/05 06:50
3F:→ yummy8765: 個就不加,12/05 06:50
4F:→ s860134: print 的話東西直接就吐出來了,你沒辦法改12/05 06:51
5F:→ s860134: 你要把 東西先組好 再ㄧ次 print12/05 06:51
6F:推 benson415: ", ".join(map(str, a))12/05 07:01
7F:→ sean50301: print(‘,’.join(a))12/05 09:23
8F:推 penut85420: 之前學C是先印第一個,第二個開始跑迴圈印12/05 12:42
9F:推 yangs0618: print可以把default是換行符號的那個東西改掉12/05 13:07
10F:→ yangs0618: 那個參數 忘記名稱了 改成”,”就好啦12/05 13:07
感謝各位的回應
但是這個代碼可以
我要用的卻沒辦法
似乎要for才行
還在嘗試
※ 編輯: s4028600 (110.28.190.33 臺灣), 12/05/2019 13:47:15
11F:推 k12795: 他就是把換行符改成逗號才變這樣的阿樓上12/05 13:53
原本的列表是這樣
a=[{'id': 1, 'name': '一'}, {'id': 2, 'name': '二'}]
代碼是
for b in a:
print(b[name],end=',')
打印是
一,二,
想變成
一,二
抱歉剛剛實驗才注意到列表不同
※ 編輯: s4028600 (110.28.190.33 臺灣), 12/05/2019 14:01:29
12F:推 TuCH: print(",".join([i.get('name') for i in a])) 12/05 14:06
13F:→ s4028600: [ ]中將a loop成i 然後get'name' 最後再用join將','放 12/05 14:19
14F:→ s4028600: 到中間 我這樣理解對嗎? 那個[ ]的用法有教學或關鍵字 12/05 14:19
15F:→ s4028600: 嗎 幾乎沒看過這種用法 想看看 12/05 14:19
16F:→ s4028600: 成功了 感謝12/05 14:20
17F:推 TuCH: python 很多神奇的語法 關鍵字是 list comprehension12/05 14:23
18F:→ s4028600: 中文的教學好少 看完之後覺得簡單的可以試試 複雜就掌12/05 14:32
19F:→ s4028600: 握不了了 感謝答案 的確很有意思12/05 14:32
20F:→ sherees: ‘, ‘.join(your_list)12/05 16:53
21F:→ yummy8765: python真的很多神奇又簡潔的語法 我也還沒習慣zzz12/05 21:44
22F:推 cuteSquirrel: 真的 map filter lamdba 混搭很好用 12/05 22:15
※ 編輯: s4028600 (114.41.64.118 臺灣), 12/06/2019 14:11:21
24F:→ roccqqck: 其實我個人覺得太簡潔未必是好事 12/09 03:24
25F:→ roccqqck: 讓其他人幾年後還是看得懂比較重要 12/09 03:24
26F:→ s4028600: 所以過程最好留下來 像我不常用 以前寫的都不知道邏輯了 12/09 23:56
27F:→ s4028600: ... 12/09 23:56