因此,我已经生成了嵌套元组列表(象棋移动验证器的向量)
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)
我想知道是否有一种更像Python的方式来做这件事
这个怎么样
对
b
的所有引用都是a[b]
,因此您可以直接在元素上循环,而不是遍历索引:元组解包可以使
b[0]
和b[1]
更具可读性和意义,如果您有好的名称:最后,可以使用splat在元组文本中扩展iterables:
总体而言:
相关问题 更多 >
编程相关推荐