如何将树型元组转换为矩阵型元组?
问题描述:
如果我的问题显得过于天真或太基本,请事先赦免。我仍然在学习使用SE。如何将树型元组转换为矩阵型元组?
有没有一种快速的方法来将树型元组转换为矩阵型元组(三角形)?
这是这样的:
t=((1,),(2,3,),(4,5,6,),(7,8,9,10,))
这样:
t=((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))
只是一个想法就足够了。我可以尝试自己实施它。元组串接的
答
占据优势:(这只是东西开始像你说的)
>>> (1,)+(0,)*2
(1, 0, 0)
和max()
和len()
功能:
>>> len(max(((1,),(2,3,),(4,5,6,),(7,8,9,10,)),key = lambda x: len(x)))
4
答
您可以添加0如果长度少于4
tuple(a+(0,)*(4-len(a)) for a in t)
((1, 0, 0, 0), (2, 3, 0, 0), (4, 5, 6, 0), (7, 8, 9, 10))
答
我会做那样的事情ev恩,如果它不是优化:
def tuple_to_serie(t)
s = []
max_len = max([len(tup) for tup in t])
for tup in t :
s.append(tup+(0,)*(max_len-len(tup)))
return tuple(s)
然后:
t = tuple_to_serie(t)