从单个列表创建多个列表

时间:2017-04-10 13:10:32

标签: python encryption

所以我试图在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

4 个答案:

答案 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']]