Jor*_*lor 1 python python-3.x for-else
我试图检查列表中的所有元素,看看它们是否符合"小于5"的条件.我想要做的是如果我的列表中没有数字小于5,我想打印一条声明"此列表中没有小于5的元素",否则只打印那些数字,而不是"此列表中没有小于5的元素." 也.
list = [100, 2, 1, 3000]
for x in list:
if int(x) < 5:
print(x)
else:
print("There are no elements in this list less than 5.")
Run Code Online (Sandbox Code Playgroud)
这会产生输出:
2
1
There are no elements in this list less than 5.
Run Code Online (Sandbox Code Playgroud)
如何摆脱输出的最后一行?
在else的for-loop,如果将只跳过break遇到.因此,for-else语句不适合在列表中查找多个元素.
相反,使用列表推导并根据结果进行相应打印.
lst = [100, 2, 1, 3000]
less_than_five = [x for x in lst if x < 5]
if less_than_five:
print(*less_than_five)
else:
print('There are no elements in this list greater than 5.')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |