Re: [問題] 如何去除迴圈後多餘的東西

作者: tttkkk (學到。)   2019-12-05 20:03:01
已經有板友提到 ','.join
這個是最簡潔的
不過原po若堅持要用 for loop
只好用 enumerate
下方 code 中的 index 會對應到每個 item 的 index
my_list = ['a', 'b', 'c', 'd', 'e']
result = ''
for index, item in enumerate(my_list):
result += item
if index != len(my_list)-1:
result += ','
print(result)
※ 引述《s4028600 (佑)》之銘言:
: a=[1,2,3,4,5]
: for b in a:
: print(b,end=',')
: 列表搞錯了
: 請看下面的編輯
: print的結果是
: 1,2,3,4,5,
: 中間的逗號要留著
: 5後面的逗號想刪除
: 讓print變成
: 1,2,3,4,5
: 試過rstrip沒效果...
作者: s4028600 (佑)   2019-12-06 03:37:00
是因為後來發現列表方式不同才只能用for的 不過突然冒出好多解法 有些消化困難...
作者: ddavid (謊言接線生)   2019-12-06 03:42:00
問題原Po如果真的卡住需要細節思路解說的話可以回應一下哪邊不懂,或者補充一下你實際應用情況的條件讓大家考慮哪種方法會相對更適合
作者: s4028600 (佑)   2019-12-06 03:47:00
這個好複雜 腦袋一時轉不過來...
作者: k12795 (遠遠)   2019-12-06 04:27:00
for a,b in enumerate(list)list[a]是b 應該是這樣理解?
作者: s4028600 (佑)   2019-12-06 04:27:00
看不懂result += item到底是怎麼做出這種效果的...k12795 應該就是這樣 只是看不懂result是怎麼弄的 似乎是正表達式?
作者: k12795 (遠遠)   2019-12-06 04:42:00
跟表達式無關 a+=b等效於a=a+b 這個c++也有
作者: s4028600 (佑)   2019-12-06 04:56:00
突然懂了 這種寫法好特殊...
作者: yangs0618 (阿彰)   2019-12-06 18:21:00
a+=b 跟a=a+b在a,b是list的時候不會等效呦
作者: frank910138 (frank)   2019-12-06 18:25:00
推這個,我也寫這樣
作者: plankton   2019-12-18 15:12:00
這個有點複雜 @[email protected]

Links booklink

Contact Us: admin [ a t ] ucptt.com