如何用推导式将指定格式列表转换为字典?
可以用字典推导式实现
你之前用列表推导式没成功是因为目标是生成字典,得用字典推导式,直接看实现代码:
givenlist = [ 'Asia:ASIA,IN,CN,KR,JP', 'Europe:DE,EUROPE' ] # 基础实现 result = {item.split(':')[0]: item.split(':')[1].split(',') for item in givenlist}
运行后就能得到你想要的字典结构。如果想优化性能,避免对同一个字符串两次调用split(':'),可以改成这样:
# 优化版,减少一次拆分操作 result = {key: vals.split(',') for item in givenlist for key, vals in [item.split(':')]}
逻辑很直白:
- 遍历列表里的每个字符串,先按
:拆分成键和值字符串 - 再把值字符串按
,拆分成列表,最后用推导式组装成字典
内容的提问来源于stack exchange,提问作者Danny
相关产品推荐
相关产品推荐

