Tôi biết cách sử dụng cả hai cho các vòng lặp và nếu các câu lệnh trên các dòng riêng biệt, chẳng hạn như:
>>> a = [2,3,4,5,6,7,8,9,0]
... xyz = [0,12,4,6,242,7,9]
... for x in xyz:
... if x in a:
... print(x)
0,4,6,7,9
Và tôi biết rằng tôi có thể sử dụng một sự hiểu biết danh sách để kết hợp những điều này khi các câu lệnh đơn giản, chẳng hạn như:
print([x for x in xyz if x in a])
Nhưng những gì tôi không thể tìm thấy là một ví dụ tốt ở bất cứ đâu (để sao chép và học hỏi) thể hiện một tập lệnh phức tạp (không chỉ là "in x") xảy ra sau sự kết hợp của vòng lặp for và một số câu lệnh if. Một cái gì đó mà tôi mong đợi trông giống như:
for x in xyz if x not in a:
print(x...)
Đây có phải chỉ là cách con trăn được cho là hoạt động?
x in a
là chậm nếu a
là một danh sách.
for
vòng lặp vàif
tuyên bố rõ ràng .