从作为序列列表给出的矩形中提取对角线(Python)

时间:2017-12-01 08:35:12

标签: python string list

我需要帮助改变字符串列表的顺序。 例如:

Matrix_List = ['bnnp', 'yior', 'ente', 'femf']
b n n p
y i o r
e n t e
f e m f

我希望将其更改为此(就像根据该方向构建新列表↘:

b i t f
y n m
e e
f
n o e
n r 
p
Matrix_list = ['bitf', 'ynm','ee','f','noe','nr','p']

任何帮助都应该被欣赏。

2 个答案:

答案 0 :(得分:0)

您可以像这样转换网格

       b n n p
     y i o r
   e n t e
 f e m f

然后使用zip检索列:

Matrix_List = ['bnnp', 'yior', 'ente', 'femf']
n = len(Matrix_List)
pad = (n-1) * ['']
padded = [pad[i:] + list(word) + pad[:i] for i, word in enumerate(Matrix_List)]
result = [''.join(column) for column in zip(*padded)]

答案 1 :(得分:-1)

我认为您可以使用" for"将所有单个字符收到新列表中。然后通过新列表的索引,您可以调用这些字母并根据需要创建列表。