在列表中使用内联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中平展结果的最佳方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章