In this kata you will create a function that takes a list of non-negative integers and strings and returns a new list with the strings filtered out.
isinstance的用法
我的做法
def filter_list(l):
lst=[]
for i in l:
if not isinstance(i,str):
lst==l.append(i)
return lst
是错误的,倒数第二行不对,我这样写成了在l列表里又加了一遍整数,然后把这个列表赋给lst
法1
def filter_list(l):
new_list =[]
for x in l:
if type(x) != str:
new_list.append(x)
return new_list
法2
def filter_list(l):
'return a new list with the strings filtered out'
return [i for i in l if not isinstance(i, str)] #直接返回一个列表
法3
def filter_list(l):
'return a new list with the strings filtered out'
return [i for i in l if isinstance(e, int)]
法3
def filter_list(l):
'return a new list with the strings filtered out'
return [x for x in l if type(x) is not str]
法4
def filter_list(l):
return filter(lambda x: not type(x) is str, l)