slt*_*dev 4 python for-loop list append
练习我的蟒蛇。
任务:循环遍历列表 A 并创建一个新列表,其中仅包含 0-5 之间的列表 A 中的项目。
我在这里做错了什么
a = [100, 1, 10, 2, 3, 5, 8, 13, 21, 34, 55, 98]
def new_list(x):
for item in range(len(x)):
new = []
if x[item] < 5 and x[item] > 0:
(new.append(item))
return new
print(new_list(a))
Run Code Online (Sandbox Code Playgroud)
我只是得到[1]一个答案。
Dan*_*nez 10
您返回命令在循环内,因此一旦它通过第一种情况,它就会返回退出函数的值。
这是您的代码应该是什么样子的示例
a = [100, 1, 10, 2, 3, 5, 8, 13, 21, 34, 55, 98]
def new_list(x):
new = []
for item in range(len(x)):
if x[item] < 5 and x[item] > 0:
new.append(x[item])
return new
print new_list(a)
Run Code Online (Sandbox Code Playgroud)
您可以通过使用列表理解来获得相同的结果
def new_list(x):
return [item for item in x if 0 < item < 5]
Run Code Online (Sandbox Code Playgroud)