所以我试图在python中创建一个山密码,并且我不确定如何将输入分解为多个列表,每个列表中都包含2个字符。
我现在所拥有的是
mess = input('What is the message: ').upper()
m = [mess[i: i + 2] for i in range(0, len(mess), 2)]
将输出每对字符,但只会将其输入一个列表
['CI', 'PH', 'ER']
我想要将它们分开以便加倍加密矩阵,但尚未能够这样做,而且我不确定如何将其变成矩阵numpy可以处理为一个2 x n 。
答案 0 :(得分:1)
现在应该可以了:
新编辑:
words = input()
the_words = words.split()
new_list = []
for i in the_words:
for b in range(0, len(i), 2):
if b+1 < len(i)-1:
new_list.append([i[b], i[b+1]])
print(new_list)
答案 1 :(得分:0)
这可能是你想要的:
result = [''.join(item) for item in zip(a[::2], a[1::2])]
或者获得3个列表:
a = 'CIPHER'
m = [[''.join(item)] for item in zip(a[::2], a[1::2])]
print(m)
<强> EXTRA 强>
将子列表分配给变量:
for i, item in enumerate(m):
globals()['v{}'.format(i)] = item
print(v0)
print(v1)
print(v2)
答案 2 :(得分:0)
lst = [1,2,3,4,5,6]
print ('my list contains: ',' '.join(lst))
答案 3 :(得分:0)
您可以使用括号生成嵌套列表
[[m[i:i+2]] for i in range(0, len(m), 2)]
输出:
[['CI'], ['PH'], ['ER']]