Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 - Fatal编程技术网

如何在python中解除拉伸

如何在python中解除拉伸,python,Python,因此,我试图制作一个文本加密程序,将文本中的字母更改为不同的有序字母表,但是a=key[1](key是重新排列的字母表的名称),但它不起作用,因为key[1]不能分配给一个普通的字母表,任何关于如何找到它的想法。所以key是你重新排列的字母表,而ALPHA是正常的字母表 ALPHA = 'abcdefghijklmnopqrstuvwxyz' key = 'zwlsqpugxackmirnhfdvbjoeyt' msg = 'secretmessage' code = [] for i in

因此,我试图制作一个文本加密程序,将文本中的字母更改为不同的有序字母表,但是a=key[1](key是重新排列的字母表的名称),但它不起作用,因为key[1]不能分配给一个普通的字母表,任何关于如何找到它的想法。

所以
key
是你重新排列的字母表,而
ALPHA
是正常的字母表

ALPHA = 'abcdefghijklmnopqrstuvwxyz'
key = 'zwlsqpugxackmirnhfdvbjoeyt'
msg = 'secretmessage'
code = []

for i in msg:
    code.append(key[ALPHA.index(i)])

print(''.join(code))

在编码之后而不是编码期间生成字符串。

Python和许多其他语言中的字符串是不可变的

您需要的是创建一个新字符串,根据需要替换字符

对于字节字符串(在Python中是纯字节数组),有。它需要一个256字节的字符串,描述如何替换每个可能的字节

对于Unicode字符串,
.translate
采用了一种更方便但可能更麻烦的映射:

unicode('foo bar').translate({ord('f'): u'F', ord('b'): u'B'})
在一般情况下,类似这样的方法应该有效:

def transform_char(char):
  # shift a characte 3 positions forward
  return chr(ord(char) + 3)

def transform(source_string):
  return ''.join(transform_char(c) for c in source_string)
转换中会发生什么?它生成一个转换字符列表(
[transform\u char(c)for c in source\u string]
)称为“列表理解”。此列表包含
源字符串中每个字符的转换字符。然后,此列表的所有元素通过在它们之间放置一个空字符串
'
有效地
连接在一起


我希望现在对您来说已经足够了。

如果您提供一些说明问题的代码,我们将更容易帮助您。