2016-03-26 20 views

cevap

1

böyle iç sıralamayı neden olacaktır liste halinde kesilebilir bir öğeyi değiştirerek, heapq, list.sort() veya sortedcontainers gibi başka sıralama modülü kullanılarak bozulacak. Bu durumda tuplelerin kullanılması, türün yanlışlıkla bozulmasını engelleyeceği için tavsiye edilir.

heapq veya bisect kullanırken, modül listenin zaten sıralı olduğunu ve kullanılan algoritmanın yalnızca sıralanmış listelerde çalıştığını düşünür. Sıralanan listeyi değiştirmek, algoritmayı kırar ve beklenmedik sonuçlar doğuracaktır.

Değiştirilebilir bir nesneyi değiştirirseniz, düzgün çalışmasını istiyorsanız listeyi yeniden sıralamanız gerekir. heapq.heapify(), gerçekten heapq kullanıyorsa onu sıralamanın yolu.

İlgili konular