data = [(1,'hi'),(2,'hello'),(3,'hi'),(4,'hi'),(5,'hello'),(6,'hello'),
(7,'hi'),(8,'hello')]
new_data = []
for i in data:
if i[1] == 'hi':
new_data.append(i)
print(new_data)
输出:[(1,'高'),(3,'高'),(4,'高'),(7,'高')]
我是python的初学者。
我想要相同的输出,但希望减少For循环中的代码量,提高效率。你知道吗
Tags:
您可以使用列表理解和筛选器在一行中写入。在this question有一个很好的过滤器说明。使用过滤器可以利用lazy evaluation,这有利于执行时间。你知道吗
输出
虽然循环很好,但可以使用list comprehension:
相关问题 更多 >
编程相关推荐