我已将邮件中的每个字符转换为ASCII码,我需要加密它,但是,如果它是空格,则不应加密。
s =[ord(c) for c in lst] #Converts each character into ascii
print (s) #remove line when finished
答案 0 :(得分:4)
以下内容:
lst = "asd asd"
s =[ord(c) if c != ' ' else c for c in lst ]
print (s)
打印[97, 115, 100, ' ', 97, 115, 100]
。
如果您想完全省略空格,请执行以下操作:
lst = "asd asd"
s =[ord(c) for c in lst if c != ' ']
print (s)
打印[97, 115, 100, 97, 115, 100]
答案 1 :(得分:0)
尝试这个
s = "abc def"
print[ord(ch) for ch in s if ord(ch) != 32]
答案 2 :(得分:-1)
如果你想完全删除空格(空格,制表符等):
s = 'asdf asdf'
s = ''.join(s.split())
print map(ord, s)
# OUT: [97, 115, 100, 102, 97, 115, 100, 102]
如果要将空格保留为空格,请在列表推导中使用三元运算符:
s = 'asdf asdf'
print [' ' if i == ' ' else ord(i) for i in s]