2017-07-25 23 views
0

我想lambda象下面這樣:如何python3 STR轉換爲int使用拉姆達

ls = ['.06', '23', '444'] 
arr = [] 
for x in ls: 
    if x.find('.') > -1: 
     x = float(x) 
    else: 
     x = int(x) 
    arr.append(x) 
print(arr) 

如何拉姆達寫信告訴他們的立場沒有改變?

print([int(x) for x in ls if x.find('.') == -1] + [float(x) for x in ls if x.find('.') > -1]) 

回答

0
print(list(map(lambda x : float(x) if x.find('.') > -1 else int(x), ls))) 
+0

謝謝非常。 – Mario7

0

我相信你的意思列表理解(如你直接寫後,他們兩個),所以我就寫(而不是拉姆達):

print([ 
    float(x) if '.' in x else int(x) 
    for x in ls 
]) 
+0

非常感謝。 – Mario7