我有这个代码......它有效,但还有更好的方法吗?
因此,如果参与者列表为[ { 'Id': 5, 'name':'bob'}, {'Id': 4, 'name': 'sally'} ]
,则结果应为'5, 4'
。
participant_list = obj['participants']
id_num = []
for participant in participant_list:
id_num.append(str(participant['Id']))
result = ",".join(id_num)
答案 0 :(得分:2)
list comprehension与str.join
:
>>> participant_list = [ { 'Id': 5, 'name':'bob'}, {'Id': 4, 'name': 'sally'} ]
>>> ", ".join([str(p["Id"]) for p in participant_list])
'5, 4'
>>>
答案 1 :(得分:0)
使用map()
,这有效 -
>>> participant = [ { 'Id': 5, 'name':'bob'}, {'Id': 4, 'name': 'sally'} ]
>>> ",".join(map(lambda x: str(x['Id']), participant))
'5,4'
答案 2 :(得分:0)
怎么样:
>>> ','.join([str(i['Id']) for i in participant_list])
'5,4'