2024-03-28 17:49:32 发布
网友
Python有下面这样的东西吗?
for item in items #where item>3: #.....
我是说Python 2.7和Python 3.3都在一起。
在您的问题中没有像where这样的特殊语法,但是您始终可以在for循环中使用if语句,就像在任何其他语言中一样:
where
for
if
for item in items: if item > 3: # Your logic here
或者一个保护条款(同样,像其他语言一样):
for item in items: if not (item > 3): continue # Your logic here
这两种枯燥的方法几乎和一种特殊的语法一样简洁易读。
可以将循环与generator expression组合:
for x in (y for y in items if y > 10): ....
^{}(py2)/^{}(py3)是另一个选项:
items = [1,2,3,4,5,6,7,8] odd = lambda x: x % 2 > 0 for x in filter(odd, items): print(x)
你的意思是这样的:
item_list = [item for item in items if item > 3]
或者,可以使用Generator表达式,该表达式不会创建新列表,而是返回生成器,然后使用yield方法返回每次迭代的下一个元素:
Generator
yield
for item in (item for item in items if item > 3): # Do your task
在您的问题中没有像
where
这样的特殊语法,但是您始终可以在for
循环中使用if
语句,就像在任何其他语言中一样:或者一个保护条款(同样,像其他语言一样):
这两种枯燥的方法几乎和一种特殊的语法一样简洁易读。
可以将循环与generator expression组合:
^{} (py2)/^{} (py3)是另一个选项:
你的意思是这样的:
或者,可以使用
Generator
表达式,该表达式不会创建新列表,而是返回生成器,然后使用yield
方法返回每次迭代的下一个元素:相关问题 更多 >
编程相关推荐