迭代嵌套列表并更改值

six*_*zed 1 python iteration nested-lists

我试图找到这个答案,但只能找到我难以拼凑的部分.

假设我有:

aList = [["Monday", "2.03","4.03"],["Tuesday","4.03","5.03"],["Wednesday","3.2","4.3"]]

我想迭代这个嵌套列表并将编号的字符串值更改为浮点数.

roo*_*oot 8

aList = [["Monday", "2.03","4.03"],
         ["Tuesday","4.03","5.03"],
         ["Wednesday","3.2","4.3"]]

def helper(s):
    try: return float(s)
    except ValueError: return s

aList[:] = [[helper(item) for item in subl] for subl in aList]
print aList
Run Code Online (Sandbox Code Playgroud)

出:

[['Monday', 2.03, 4.03], ['Tuesday', 4.03, 5.03], ['Wednesday', 3.2, 4.3]]
Run Code Online (Sandbox Code Playgroud)