【发布时间】:2021-04-17 12:16:14
【问题描述】:
如何创建一个接收非负整数和字符串列表的函数,并返回一个没有字符串的新列表?
例如。 filter_list([1, 2, "a", "b"]) ➞ [1, 2]
问题:无法将输出转换为列表
def filter_list(a):
mylist=[]
if type(a)==list:
for i in a:
if type(i)==int:
output=print(i)
mylist+=output
return mylist
我做错了什么?
【问题讨论】:
-
你在做
output = print(i),这意味着你将None分配给output,因为print返回None。你应该只打印 i,然后写mylist += [i] -
@SanjeevanKhanduri ..我尝试了 print(i) ,然后 mylist+=i ......它现在没有给出 nonetype 错误,但也没有将输出转换为 list ..我做错了什么?
-
@ANURAGVERMA
i是整数,mylist是列表,您不能使用+运算符添加列表和整数。您必须先将i转换为列表。你可以通过在它周围添加方括号来做到这一点,[i]。然后你可以添加,mylist += [i]
标签: python python-3.x list integer