Я работаю над script для части программного обеспечения, и это не дает мне прямого доступа к необходимым мне данным. Вместо этого мне нужно запросить каждую информацию, которая мне нужна, и составить список данных, которые я получаю. По разным причинам мне нужен список для сортировки. Очень просто просто создать список один раз, а затем отсортировать его, а затем делать с ним вещи. Тем не менее, я предполагаю, что быстрее будет проходить через все, а не создавать список, а затем сортировать его.
Итак, на данный момент я в основном получил это:
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)
Стоит ли пытаться это сделать так, или я должен просто придерживаться строя списка и сортировать его?
Спасибо!