Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从单个列表创建多个列表_Python_Encryption - Fatal编程技术网

Python 从单个列表创建多个列表

Python 从单个列表创建多个列表,python,encryption,Python,Encryption,因此,我试图用python创建一个hill密码,但不确定如何将输入分解为多个列表,每个列表中现在有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可以处理

因此,我试图用python创建一个hill密码,但不确定如何将输入分解为多个列表,每个列表中现在有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

这是你想要的吗:

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)
额外的

将子列表分配给变量:

for i, item in enumerate(m):
    globals()['v{}'.format(i)] = item

print(v0)
print(v1)
print(v2)
现在应该可以这样做了:

新编辑:

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)
words=input()
单词=words.split()
新列表=[]
对于我来说,用我的话来说:
对于范围(0,len(i),2)内的b:
如果b+1
您可以使用括号生成嵌套列表

[[m[i:i+2]] for i in range(0, len(m), 2)]
输出:

[['CI'], ['PH'], ['ER']]

您能发布一个所需的
输入-输出
对吗?
信息是什么:Cipher['CI','PH','ER']
我想如果输入是Cipher。他希望输出是[CI],[PH],[ER]不,输出是
['CIPH']
,当我想要的输出是
['CI'],['PH'],['ER']
输入是什么?输入只是作为单个字符串的密码,然后我想把它变成3个列表,分别是
['CI'],['PH'],['ER']
,谢谢你,编辑效果很好。接下来的问题是,你们能用split将m从一个列表中拆分出来吗?你们能用多个变量来存储每个列表吗?希望这能回答你们的问题。我不知道你为什么不接受/支持我的解决方案,因为我先回答了:(这更接近了,但问题是它会将同一个字母打印两次
[['C',I',I',P',['P',H',['H',E']]
这正是我所希望的,谢谢。如果您可以将新列表拆分为单独的列表,或者如果不可能,是否可能。不客气。现在,新列表将分组的字母存储为列表,因此整个列表就是一个列表列表。如果您想在列表中拆分列表,可以循环over访问列表,访问结果列表的第一个元素,然后对其执行一些操作,例如将其分配给字符串或字典键或值。是否可以更改代码,以便能够接受用户对某个单词的输入,然后将其拆分为列表?这将提供与原始列表相同的输出,而原始列表仅作为单个列表打印。
[['CI'], ['PH'], ['ER']]