作者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/cn.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