Chắc chắn sử dụng in
. Nó được làm cho mục đích này, và nó nhanh hơn.
str.find()
không được sử dụng cho các tác vụ như thế này. Nó được sử dụng để tìm chỉ mục của một ký tự trong một chuỗi, không phải để kiểm tra xem một ký tự có nằm trong một chuỗi hay không. Do đó, nó sẽ chậm hơn nhiều.
Nếu bạn đang làm việc với dữ liệu lớn hơn nhiều, sau đó bạn thực sự muốn được sử dụng in
cho hiệu quả tối đa:
$ python -m timeit -s "temp = '1'*10000 + ':' " "temp.find(':') == -1"
100000 loops, best of 3: 9.73 usec per loop
$ python -m timeit -s "temp = '1'*10000 + ':' " "':' not in temp"
100000 loops, best of 3: 9.44 usec per loop
Nó cũng nhiều hơn nữa có thể đọc được.
Here's a documentation link about the keyword và cũng là related question.
Không chỉ nhanh hơn. Nó dễ đọc hơn: 'nếu chuỗi con trong văn bản: ...' là tiếng Anh đơn giản. – Bakuriu