如何用更Pythonic的方式从嵌套字典列表中提取5个字符串数值
最简洁的Pythonic实现
如果是要把提取到的字符串存为列表,直接用嵌套列表推导式即可,一行完成:
extracted_values = [item[1] for entry in x for item in entry["values"]]
执行后extracted_values的值就是你需要的5个字符串:['100', '99.98', '89.7654', '87.98', '100'],类型完全匹配要求。
如果你需要直接打印结果
不需要额外存列表的话,可以用生成器表达式配合join方法一次性打印,避免多次调用print:
print("\n".join(item[1] for entry in x for item in entry["values"]))
和你原来的嵌套循环打印效果完全一致,但代码更紧凑。
补充说明
原来的嵌套循环逻辑是正确的,列表推导式本质就是对合法迭代逻辑的语法糖,兼顾了可读性和简洁性,是Python中处理这类结构化数据提取的标准写法。
内容的提问来源于stack exchange,提问作者jatsad
相关产品推荐
相关产品推荐

