Python:为什么我的函数 return 是一个空列表?
Python: why does my function return an empty list?
我正在尝试编写一个 return 列表中所有字符串的函数。
使用 isinstance() 方法和 for 循环,我将字符串附加到一个新列表,然后 return 该列表。但是,列表是空的。
有趣的是,当我在函数外部使用相同的代码时,正确的项目是 returned。但是在一个函数内部,什么都没有 returned。
函数内部:
mylist = [1,2,3,"xxx","bob"]
def check_string(mylist):
string_list = []
for item in string_list:
if isinstance(item,str):
string_list.append(item)
return string_list
check_string(mylist)
The output is an empty list!!!
Inside a function:
mylist = [1,2,3,"xxx","bob"]
string_list = []
for item in mylist:
if isinstance(item,str):
string_list.append(item)
print(string_list)
我得到 ['xxx', 'bob']
print 语句 return 是正确的值,但是函数 return 什么都没有。怎么回事???
变化不大。
mylist = [1,2,3,"xxx","bob"]
def check_string(mylist):
string_list = []
for item in mylist:
if isinstance(item,str):
string_list.append(item)
return string_list
如果这是你想要的,请告诉我。
我正在尝试编写一个 return 列表中所有字符串的函数。
使用 isinstance() 方法和 for 循环,我将字符串附加到一个新列表,然后 return 该列表。但是,列表是空的。
有趣的是,当我在函数外部使用相同的代码时,正确的项目是 returned。但是在一个函数内部,什么都没有 returned。
函数内部:
mylist = [1,2,3,"xxx","bob"]
def check_string(mylist):
string_list = []
for item in string_list:
if isinstance(item,str):
string_list.append(item)
return string_list
check_string(mylist)
The output is an empty list!!!
Inside a function:
mylist = [1,2,3,"xxx","bob"]
string_list = []
for item in mylist:
if isinstance(item,str):
string_list.append(item)
print(string_list)
我得到 ['xxx', 'bob']
print 语句 return 是正确的值,但是函数 return 什么都没有。怎么回事???
变化不大。
mylist = [1,2,3,"xxx","bob"]
def check_string(mylist):
string_list = []
for item in mylist:
if isinstance(item,str):
string_list.append(item)
return string_list
如果这是你想要的,请告诉我。