Tôi tự hỏi liệu có một cách nhanh hơn và ít tốn thời gian để lặp qua danh sách các bộ dữ liệu, tìm đúng đối sánh hay không. Những gì tôi làm là:lặp lại nhanh chóng thông qua danh sách các bộ dữ liệu
# this is a very long list.
my_list = [ (old1, new1), (old2, new2), (old3, new3), ... (oldN, newN)]
# go through entire list and look for match
for j in my_list:
if j[0] == VALUE:
PAIR_FOUND = True
MATCHING_VALUE = j[1]
break
Mã này có thể mất nhiều thời gian để thực thi, tùy thuộc vào số lượng mục trong danh sách. Tôi chắc chắn có một cách tốt hơn để làm điều này.
trông rất tuyệt nhưng sẽ chỉ cho phép tôi tìm kiếm bằng 'giá trị cũ'. sao tôi cần phải tạo hai dicts để tôi có thể tìm kiếm trong các trường giá trị mới và cũ? – memyself
@memyself: Có, bạn đã đúng. Nếu bạn cần tìm kiếm theo cả * cả hai giá trị cũ và mới, bạn sẽ phải tạo hai dicts. Nhưng tôi đoán nó không phải là xấu nếu tất cả các bạn muốn là nhanh chóng tra cứu. Tôi đã thêm đoạn mã mẫu để tạo dict ngược. –
Tôi không biết về get(), điều này đã làm cho cuộc sống của tôi đơn giản hơn rất nhiều. – dgBP