我有一個清單,例如old_list=["a_apple","b_banana","c_cherry"]我想使用lambda獲取新列表。new_list=["apple","banana","cherry"]我試過了,但沒有按我預期的那樣工作。這是我寫的。new_list=filter(lambda x: x.split("_")[1], old_list)問題是什么 ?
3 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
嘗試這個:
蟒蛇2:
In [978]: old_list=["a_apple","b_banana","c_cherry"]
In [980]: new_list = map(lambda x: x.split("_")[1], old_list)
In [981]: new_list
Out[981]: ['apple', 'banana', 'cherry']
蟒蛇3:
In [4]: new_list = list(map(lambda x: x.split("_")[1], old_list))
In [5]: new_list
Out[5]: ['apple', 'banana', 'cherry']

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
您可以map
使用lambda
函數列出列表:
list(map(lambda s: s.split('_')[1], old_list))
這將返回:
['apple', 'banana', 'cherry']

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
使用列表推導式
lst=["a_apple","b_banana","c_cherry"]
[i.split("_")[1] for i in lst]
輸出:
['apple', 'banana', 'cherry']
添加回答
舉報
0/150
提交
取消