在列表中使用内联for循环并在python中平展结果的最佳方法[重复]

Posted

技术标签:

【中文标题】在列表中使用内联for循环并在python中平展结果的最佳方法[重复]【英文标题】:best way to use inline for loop in lists and flat the result in python [duplicate] 【发布时间】:2020-12-24 07:26:49 【问题描述】:

我有一个字典列表,在每个字典中,我都有一个包含 id 列表的属性。所以我需要将我的属性内容作为一个新列表。我试图通过内联 for 循环语法来做到这一点。但我得到了这个结果:

my_list  = ["sessions": [1,2,3,42,56], "sessions": [1,52,53,4,55],"sessions": [1,4,5]]
listed_sessions =[ s for s in [j["sessions"] for j in my_list for item in j]]

print(listed_sessions)

结果:

[[1, 2, 3, 42, 56], [1, 52, 53, 4, 55], [1, 4, 5]]     

如您所见,我混合了两个不同的 for 循环。但我需要知道,我怎样才能在平面列表中获得我的结果?

【问题讨论】:

@AsafS。 tnx 但我已经使用了两个 for 循环,我需要知道我的问题在哪里我无法得到预期的结果 请看treyhunner.com/2015/12/python-list-comprehensions-now-in-color 【参考方案1】:
listed_sessions =[j for item in my_list for j in item["sessions"]]

【讨论】:

以上是关于在列表中使用内联for循环并在python中平展结果的最佳方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 中平滑经度纬度点列表

将 for 循环中的多个打印输出值存储到列表或变量中

在Python类中使用for循环更新列表

使用内联html时ReactJS值未存储在for循环中

如何在 Python 中使用 .format() 在“for”循环中打印列表?

python中for循环的用法