我目前正在开发一个可以使用Youtubes API的脚本。我还在学习如何使用Python正确解析,但对于像这样的方法采取什么方法有点遗失。
我有这个字符串:
[{'term': u'Video Blogging', 'scheme': None, 'label': None}, {'term': u'blogging', 'scheme': None, 'label': None}, {'term': u'stuff', 'scheme': None, 'label': None}, {'term': u'Videos', 'scheme': None, 'label': None}]
我需要接受它,然后把它转到这个:
Video Blogging, blogging, stuff, Videos
解决此问题的最佳方法是什么?感谢任何帮助,谢谢!
答案 0 :(得分:4)
>>> l = [{'term': u'Video Blogging', 'scheme': None, 'label': None}, {'term': u'blogging', 'scheme': None, 'label': None}, {'term': u'stuff', 'scheme': None, 'label': None}, {'term': u'Videos', 'scheme': None, 'label': None}]
>>> [a.get('term') for a in l]
[u'Video Blogging', u'blogging', u'stuff', u'Videos']
如果您想将这些项目作为逗号分隔的字符串,请使用:
>>> ', '.join(a.get('term') for a in l)
u'Video Blogging, blogging, stuff, Videos'
我使用a.get('term')
代替a['term']
来避免KeyError
项没有term
密钥。
答案 1 :(得分:1)
它应该是这样的:
>>> l = [{'term': u'Video Blogging', 'scheme': None, 'label': None}, {'term': u'blogging', 'scheme': None, 'label': None}, {'term': u'stuff', 'scheme': None, 'label': None}, {'term': u'Videos', 'scheme': None, 'label': None}]
>>> ', '.join([d['term'] for d in l])
u'Video Blogging, blogging, stuff, Videos'
答案 2 :(得分:0)
对于这种特定情况,您可以使用列表理解:
list_of_stuff = [
{'term': u'Video Blogging', 'scheme': None, 'label': None},
{'term': u'blogging', 'scheme': None, 'label': None},
{'term': u'stuff', 'scheme': None, 'label': None},
{'term': u'Videos', 'scheme': None, 'label': None}
]
parsed_string = ', '.join([d['term'] for d in list_of_stuff])