Python二维数组

斯巴克斯

在此处输入图片说明

你好!在第一列“ HELLO”中有一个垂直写入的密钥。如表中所示,有必要垂直按字母顺序填写字母。

矩阵应为正方形(行数与列数相同)。你能帮忙吗?我将键垂直放置,但无法水平书写字母。

key='HELLO'
f=[]
count = 1
A = [['' for i in key] for i in key]
for i in range(len(A)):
    A[i][0]=key[i]
for i in range(0,len(A)):
  for j in range(0,len(A[i])):
      if A[i][0]==key[i]:
            n=count+ord(key[i])
            A[j][i]=n
博菲

以下代码

from itertools import cycle 
from string import ascii_uppercase 
letter = cycle(ascii_uppercase)

column1 = 'HELLO'
len_other_columns = len(column1)-1
other_columns = range(len_other_columns)

for letter1 in column1: 
    while next(letter) != letter1: ... 
    print(letter1, ' '.join(next(letter) for _ in other_columns))

产生

HIJKL 
EFGHI 
LMNOP 
LMNOP 
OPQRS

要将结果放置在列表列表或2D数组中,

from itertools import cycle 
from string import ascii_uppercase 
letter = cycle(ascii_uppercase)

column1 = 'HELLO'
len_other_columns = len(column1)-1
other_columns = range(len_other_columns)
# Initialize the 2D array
two_d_array = [[c] for c in column1]
# similar to the previous
for sublist in two_d_array:
    while next(letter) != sl[0]: ...
    for _ in other_columns: sublist.append(next(letter))
print(two_d_array)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章