Removing whitespace from a list in python
本问题已经有最佳答案,请猛点这里访问。
我目前正在用python编写一个密码程序,但我似乎无法解决这个问题:
1 2 3 4 5 | word = ['a', 'b', 'c'] -----enciphering process------- message = ['d', 'e', 'f'] print message[x], |
我想发生的事情:
1 | 'def' |
实际发生的情况:
1 | 'd e f' |
我知道为什么会有这些空间,但我似乎无法摆脱它们,我尝试过使用strip、replace、re.sub、message(映射我不记得的内容)和".join"。这些都与预先确定的列表一起工作,但当我不知道列表将是什么时就不工作了。
请帮忙。
*编辑
我的意思是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Word = raw_input("Enter a word ") Message = list(word) w = raw_input("Enter a number ") w = int(w) n = len(message) Letters = ['a', 'b', 'c', 'd' and so on until z] For y in range(0,n): For index in range(0,26): X = index + w If x > 25: x = x - 26 If message[y] == letters[index]: print letters[x], |
不知道该如何摆脱这些空间,因为我不知道会有什么样的信息
相反,
很难说什么不适合你。下面是它在交互式Python中的外观:
1 2 3 4 5 6 7 8 | >>> message = ['d', 'e', 'f'] >>> print message ['d', 'e', 'f'] >>> print"".join(message) def >>> import sys >>> sys.stdout.writelines(message) def>>> |
以
快速回答是
1 2 3 | import sys # ... sys.stdout.write(letters[x]) |
但是您在如何构造代码方面有问题
您要对消息进行编码您应该将编码功能应用于该邮件例如
1 2 3 | word="Hello" encoded=''.join(map(lambda i: chr(ord(i) ^ 13), word)) print encoded |