Python数据分析与可视化:实战案例解析
274
2024-01-22
任何人都可以帮助我找出列表理解方式的产生方式 -
让给定的列表为 -
results = [{"id": 1, "name": "input"},
{"name": "status", "desc": "Status"},
{"name": "entity", "fields": [
{"id": 101, "name": "value"},
{"id": 102, "name": "address"}]

}
]
我正在寻觅列表情势的输出。获得输出的代码为:
output = []for eachDict in results:
if "fields" in eachDict:
for field in eachDict["fields"]:
output.append(eachDict["name"]+"."+field["name"])
else:
output.append(eachDict["name"])
因此,这种情况下,使用上述代码的输出是 -
['input', 'status', 'entity.value', 'entity.address']
如果其他嵌套在列表理解中嵌套循环,是不是可使用类似的输出?
在列表理解条件下,我很难尝试访问该内部循环
我的尝试 -
output = [eachDict["name"]+"."+field["name"] for field in eachDict["fields"] if "fields" in eachDict else eachDict["name"] for eachDict in results]
将代码转换为可行的代码的一种方法是使内部循环产生列表,然后将结果弄平。
sum(([d['name'] + '.' + f['name'] for f in d['fields']]if d.get('fields') else [d['name']] for d in results), [])
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。