Я работаю над сценарием для части программного обеспечения, и он не дает мне прямого доступа к нужным мне данным.Вместо этого мне нужно запросить каждый фрагмент информации, который мне нужен, и составить список данных, которые я получаю.По разным причинам мне нужно отсортировать список.Очень просто создать список один раз, а затем отсортировать его, а затем делать что-то с ним.Тем не менее, я предполагаю, что было бы быстрее выполнить все один раз , а не строить список и затем сортировать его.
Итак, на данный момент я в основном получил это:
my_list = []
for item in "query for stuff":
my_list.append("query for %s data" % item)
my_list.sort()
do_stuff(my_list)
Бит «запрос для материала» - это интерфейс запроса с программным обеспечением, который даст мне возможность повторения.my_list должен содержать список данных из содержимого указанной итерации.Делая это следующим образом, я запрашиваю первый список, затем перебираю его, чтобы извлечь данные и поместить их в my_list.Тогда я сортирую это.Наконец, я делаю что-то с этим с помощью метода do_stuff (), который будет зацикливаться на нем и делать вещи с каждым элементом.
Проблема в том, что я не могу сделать do_stuff () до того, как он будет отсортирован, поскольку порядок списков важен по разным причинам.Я не думаю, что смогу избежать необходимости повторять списки дважды - один раз, чтобы построить список, и один раз, чтобы сделать что-то для каждого элемента в нем, так как мы не будем заранее знать, будет ли недавно добавленный элемент в позиции Nоставайтесь в позиции N после того, как мы добавили следующий элемент - но кажется, что лучше вставить каждый элемент отсортированным способом, чем просто добавлять его в конце.Примерно так:
for item in "query for stuff":
my_list.append_sorted(item)
Стоит ли пытаться делать это так, или я должен просто придерживаться построения списка, а затем сортировать его?
Спасибо!