在每次迭代中存储for循环的输出

时间:2011-11-12 11:33:04

标签: python

我正在尝试为每次迭代保存for循环的输出...例如,这是我的代码:

def encrypt(key):
 for char in (key):
  val = (ord(char)) - (96)

例如,如果有人通过翻译输入“lol”,我的程序输出......

encrypt("lol")
12
15
12

在这个例子中,我需要将12,15,12存储在内存中以便在另一个函数中使用...任何人都可以帮忙吗?。

2 个答案:

答案 0 :(得分:3)

不是保存到某个临时值val,而是将其保存到列表中并返回列表。

def encrypt(key):
    temp = list()
    for char in(key):
        temp.append((ord(char))-96)
    return temp

答案 1 :(得分:2)

您可以使用许多不同的方法来执行此操作,但在Python中,最好的方法是使用列表推导,如下所示:

def encrypt(key):
    return [ (ord(char)-96) for char in key ]

请参阅http://docs.python.org/tutorial/datastructures.html#list-comprehensions

encrypt('lol')然后会返回列表[12, 15, 12]