数组转字符串?

2017-09-10 21:57:41 +08:00
 kisscucci
以下这段数组
[{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
怎么转换成为
<li>D551:1334</li><li>D552:4003</li><li>D550:5103</li>
这样的字符串?
3479 次点击
所在节点    Python
22 条回复
linboki
2017-09-10 22:19:42 +08:00
```python
a = [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
str = ''.join(map(lambda x: '<li>{}:{}</li>'.format(x['beifan'], x['shuliang']), a))
print(str)
```
kisscucci
2017-09-10 22:28:04 +08:00
@linboki 提示 a 没定义?a 是什么?
billion
2017-09-10 22:32:52 +08:00
billion
2017-09-10 22:33:20 +08:00
>>> x = [{'beifan': 'D551', 'id': 2, 'shuliang': 1334}, {'beifan': 'D552', 'id': 3, 'shuliang': 4003}, {'beifan': 'D550', 'id': 4, 'shuliang': 5103}]
>>> ''.join([f'<li>{a["beifan"]}:{a["shuliang"]}</>' for a in x])
'<li>D551:1334</><li>D552:4003</><li>D550:5103</>'
billion
2017-09-10 22:34:02 +08:00
</li>写成</>了,不过不影响。你改一下就可以。
billion
2017-09-10 22:35:31 +08:00
上面的代码需要 Python 3.6 或者以上才能成功运行。
kisscucci
2017-09-10 22:37:39 +08:00
@billion 我的是 2.7,刚才照着图片打了代码,发现没成功
billion
2017-09-10 22:37:42 +08:00
如果是 Python 3.6 或者以下,需要使用:![]( http://7sbpmp.com1.z0.glb.clouddn.com/2017-09-10-22-37-37.png)
caijihui11
2017-09-10 22:38:32 +08:00
看了二楼,我辣眼睛
kisscucci
2017-09-10 22:41:36 +08:00
@caijihui11 哈哈,回过头来看懂 a 是什么了
Victor215
2017-09-11 00:22:49 +08:00
为什么 python 做前端的事?
secondwtq
2017-09-11 02:45:10 +08:00
建议老实用模板引擎之类的,功能比 builtin 的强大,还帮你处理转义问题
CEBBCAT
2017-09-11 08:09:13 +08:00
贴代码可以用 gist
gstqc
2017-09-11 08:46:32 +08:00
手写 HTML ……
Terry05
2017-09-11 09:01:58 +08:00
用模板语言处理这个很容易呀
kisscucci
2017-09-11 11:37:33 +08:00
@Victor215 主要是因为我不懂 websocket 怎么传数组
lgpqdwjh
2017-09-11 12:41:46 +08:00
print([
"{beifan}:{shuliang}".format(**item)
for item in [{'beifan': u'D551', 'id': 2L, 'shuliang': 1334L}, {'beifan': u'D552', 'id': 3L, 'shuliang': 4003L}, {'beifan': u'D550', 'id': 4L, 'shuliang': 5103L}]
])
kisscucci
2017-09-11 12:44:16 +08:00
@lgpqdwjh 谢谢
Victor215
2017-09-11 12:51:18 +08:00
直接传 json 呀
kisscucci
2017-09-11 18:06:15 +08:00
@Victor215 也可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/389611

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX