gpt4 book ai didi

python - 将嵌套 for 循环转换为嵌套列表理解

转载 作者:行者123 更新时间:2023-11-30 22:00:16 25 4
gpt4 key购买 nike

我有一个嵌套的 for 循环,但我一生都无法弄清楚如何将其转换为嵌套列表理解。我似乎不明白嵌套列表组合是如何工作的,所以如果您也可以添加解释,那将非常有帮助。

这是我尝试使用循环提取的数据结构(用于营销 API):

list_of_orders = [{'Campaign ID': 1234, 'Orders': [{'Order ID': 0001, ...}, {'Order ID': 0002, ...}, ...]}, {'Campaign ID': 5678, 'Orders': [{...}, ...]}, ...]

这是循环:

order_ids = []
for i in list_of_orders:
for order in i.get('Orders'):
order_ids.append(str(order.get('Order ID')))

我如何 - 并且应该 - 将其转换为列表组合?这是更快/更Pythonic/更好的做法吗?

最佳答案

以下应该有效:

order_ids = [str(order.get('Order ID')) for i in list_of_orders for order in i.get('Orders')]

嵌套 for 表达式的顺序对某些人来说是违反直觉的,因为它并不真正符合自然语言范围。

它可能比基于循环的方法快一点,但它具有相同的渐近时间复杂度。虽然推导式是 Pythonic 的,但 Zen of Python声明:“可读性很重要”!所以我会坚持使用循环。

关于python - 将嵌套 for 循环转换为嵌套列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com