python 片段

filter函数可以根据提供的函数对序列进行过滤,返回一个迭代器;next函数可以获取迭代器的下一个项目
def is_even(num):
return num % 2 == 0
numbers = [1, 3, 5, 7, 2, 4, 6, 8]
even_number = next(filter(is_even, numbers), None)
print(even_number) # Output: 2注意,filter函数并不会立即对整个列表进行过滤,而是返回一个filter对象。这个对象是一个迭代器,只有在需要获取元素时,才会对列表进行过滤。这意味着,如果列表非常大,或者提供给filter函数的函数非常复杂,这个方法仍然可以高效地工作。
doc_result = list(filter(lambda x: x.get_score() > 0, doc))
doc_result = doc.filter(lambda x: x.get_score() > 0)
这么写不行,好奇怪啊python,我不太理解,js写多了感觉这好恶心
for document in doc_result.sort(key=lambda s: s.get_score(), reverse=True):
这也报一个TypeError: 'NoneType' object is not iterable的错误
from collections import deque
d = deque([1, 2, 3, 4, 5])
# 获取最后一个元素
last_element = d[-1]my_list = [1, 2, 3, 4, 5]
# three ways to delete 3
my_list.remove(3)
my_list.pop(2)
del my_list[2]真的混乱,我挺讨厌python的
walrus operator:
while (sum := numbers[left] + numbers[right]) != target:
# 'sum' can be used here since it's already assigned