Python 显示一个不同于该调试的数组
这个概念很简单。我想创建一个26乘26的列表,并用字母表填充它。除了每次我都要向右移动一个字母 例如:Python 显示一个不同于该调试的数组,python,Python,这个概念很简单。我想创建一个26乘26的列表,并用字母表填充它。除了每次我都要向右移动一个字母 例如: A、 B,C,E,F,G Z、 A,B,C,E,F,G Y、 Z,A,B,C,E,F,G 我做了这个代码,它可以工作,但它在最后显示了基本的字母表。看起来数组已压缩为基本字母表 alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y"
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
import numpy as np
Tableau=np.empty((26,26),dtype='<U1')
for k in range(len(alphabet)):
for i in range(len(alphabet)):
if i + k >= len(alphabet):
i += k - len(alphabet)
else:
i += k
Tableau[k][i] = alphabet[i]
print(Tableau[k][i])
print(alphabet[i], "\n")
字母表=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”]
将numpy作为np导入
Tableau=np.empty((26,26),dtype=
它使用了一些技巧。首先,列表理解来生成2D数组。您不需要numpy
。其次,它使用模运算、chr()
和ord()
这将为您提供一个包含每行的数组:
`[0,1,2,...]`
`Matrix = [[(x-y) for x in range(26)] for y in range(26)]`
对每行进行移位,但超出0-26范围
`[
[0,1,2,...]
[-1,0,1,2,...]
[-2,-1,0,1,2,...]
...
]`
`Matrix = [[((x-y)%26) for x in range(26)] for y in range(26)]`
使用mod 26,我们将数字输入到0-25范围
现在只是把0-25变成a-Z的问题
内置的chr()
和ord()
可以帮助您实现这一点
它使用了一些技巧。首先,列表理解来生成2D数组。您不需要numpy
。其次,它使用模运算、chr()
和ord()
这将为您提供一个包含每行的数组:
`[0,1,2,...]`
`Matrix = [[(x-y) for x in range(26)] for y in range(26)]`
对每行进行移位,但超出0-26范围
`[
[0,1,2,...]
[-1,0,1,2,...]
[-2,-1,0,1,2,...]
...
]`
`Matrix = [[((x-y)%26) for x in range(26)] for y in range(26)]`
使用mod 26,我们将数字输入到0-25范围
现在只是把0-25变成a-Z的问题
内置的
chr()
和ord()
可以帮助您做到这一点。您已经考虑过了,这里不需要使用numpy。
要移动字母,只需获取最新的字母,将其从列表中删除并添加到前面,例如:
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
final_result = []
for i in range(len(alphabet)):
el = alphabet[-1] # Get the first letter
alphabet.pop() # Remove the latest letter
alphabet = [el] + alphabet # Update the list, setting the first letter as the latest
final_result.append(alphabet) # Append to the list containing the rotated alphabet
请注意:还有其他方法可以解决此问题,只是演示了一种可读性强且易于理解的方法。您考虑过了,这里不需要使用numpy。 要移动字母,只需获取最新的字母,将其从列表中删除并添加到前面,例如:
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
final_result = []
for i in range(len(alphabet)):
el = alphabet[-1] # Get the first letter
alphabet.pop() # Remove the latest letter
alphabet = [el] + alphabet # Update the list, setting the first letter as the latest
final_result.append(alphabet) # Append to the list containing the rotated alphabet
请注意:还有其他方法可以解决此问题,只是演示了一种可读性强且易于理解的方法。此问题可能比您提出的问题更简单:
import numpy as np
ALPHABET = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
LENGTH = len(ALPHABET)
tableau = np.empty((LENGTH, LENGTH), dtype='<U1')
for i in range(LENGTH):
for j in range(LENGTH):
k = (j - i) % LENGTH
tableau[i][j] = ALPHABET[k]
print(tableau)
将numpy导入为np
字母表=列表(“abcdefghijklmnopqrstuvxyz”)
长度=长度(字母表)
tableau=np.empty((LENGTH,LENGTH),dtype='这个问题可能比您所做的要简单:
import numpy as np
ALPHABET = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
LENGTH = len(ALPHABET)
tableau = np.empty((LENGTH, LENGTH), dtype='<U1')
for i in range(LENGTH):
for j in range(LENGTH):
k = (j - i) % LENGTH
tableau[i][j] = ALPHABET[k]
print(tableau)
将numpy导入为np
字母表=列表(“abcdefghijklmnopqrstuvxyz”)
长度=长度(字母表)
tableau=np.empty((LENGTH,LENGTH),dtype='A有一个rotate方法;将列表变成一个deque;将deque(作为列表)附加到最终列表中;rotate;重复25次
import collections
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
alphabet = collections.deque(alphabet)
final = []
for _ in range(26):
final.append(list(alphabet))
alphabet.rotate()
A有一个旋转方法;将您的列表转换为deque;将deque(作为列表)附加到最终列表中;旋转;重复25次
import collections
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
alphabet = collections.deque(alphabet)
final = []
for _ in range(26):
final.append(list(alphabet))
alphabet.rotate()
基本字母表是什么意思?基本字母表是什么意思?这打印的输出与OP显示的类似,但实际目标是,“创建一个26乘26的列表,并用字母表填充。”此解决方案不保留该描述的数据结构。打印输出类似于OP显示的内容,但实际目标是“创建一个26乘26的列表,并用字母表填充。”此解决方案不保留该描述的数据结构。