【发布时间】:2023-04-03 09:57:01
【问题描述】:
所以,我生成了一个嵌套元组列表(国际象棋移动验证器的向量)。
old_v = [[((4, 1, 'P', 'e2'), 1), ((4, 2, '1', 'e3'), 0), ((4, 3, '1', 'e4'), 0), ((4, 4, '1', 'e5'), 0), ((4, 5, '1', 'e6'), 0), ((4, 6, 'q', 'e7'), -1)]]
阅读文档here 和here 后,我仍然无法弄清楚如何在不重写整个元组的情况下仅折叠每个子列表中的元组,如下所示:
new_v = [[(a[b][0][0], a[b][0][1], a[b][0][2], a[b][0][3], a[b][1]) for b in range(0, len(a))] for a in old_v]
print(new_v)
我想知道是否有更 Pythonic 的方式来做到这一点。
【问题讨论】:
-
您在寻找哪个输出?
a[0][1]
似乎很不寻常,你的意思是a[b][1]
? -
我做到了。我会相应地调整它。
-
可以参考文章【如何制作平面列表】(stackoverflow.com/questions/952914/how-to-make-a-flat-list-out-of-list-of -lists),@Shawn Chin 的回答
标签:
python
list
tuples
list-comprehension
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:以 Python 方式在嵌套元组列表的列表中展平嵌套元组 - Python技术站