История изменений
Исправление soomrack, (текущая версия) :
ну, какое было задание такой и вариант решения.
Не-не-не, в задании это было оговорено, что «удалять задания, которые удалось обработать», т.е. может быть и не удалось обработать, и пример моего кода на С++ это демонстрировал.
Если пул сложнее списка, то и не надо список использовать, пусть будет структура сложнее.
Ну т.е. в питоне для этого базовых типов нет, нужно создавать свой? Получается, что в С++ это сделать тупо быстрее, а код будет понятней.
Просто возникает некоторое непонимание что есть что в питоне. Список есть, а получение следующего элемента по предыдущему – нету, только через индексацию, которую нужно будет обновлять при изменении списка, т.е. это не список, а по сути, массив. А если это массив, то какого черта он заводит для него итератор при цикле for и делает еще кучу ненужных вещей, когда надо просто пройтись по индексу….
Вот и получается, что вместо короткого кода, мы начинаем создавать свои структуры, все распухает и начинает выглядеть как говнокод. Бесит.
PS: в данном примере, я бы на питоне сделал бы как ты while, но завел бы еще один список, куда скидывал бы зафейленные задания, после цикла соотв, этот список бы перекинул на место опустошенного текущего. Тогда действительно, все время работаешь только с головой списка. Но это такое решение, немножно костыльное, и при небольшом усложнении задания нужны будут другие костыли, если воообще их удастся придумать. Но правильней будет написать свою структуру, что некоторый overhead разработки для такого простого задания.
Исправление soomrack, :
ну, какое было задание такой и вариант решения.
Не-не-не, в задании это было оговорено, что «удалять задания, которые удалось обработать», т.е. может быть и не удалось обработать, и пример моего кода на С++ это демонстрировал.
Если пул сложнее списка, то и не надо список использовать, пусть будет структура сложнее.
Ну т.е. в питоне для этого базовых типов нет, нужно создавать свой? Получается, что в С++ это сделать тупо быстрее, а код будет понятней.
Просто возникает некоторое непонимание что есть что в питоне. Список есть, а получение следующего элемента по предыдущему – нету, только через индексацию, которую нужно будет обновлять при изменении списка, т.е. это не список, а по сути, массив. А если это массив, то какого черта он заводит для него итератор при цикле for и делает еще кучу ненужных вещей, когда надо просто пройтись по индексу….
Вот и получается, что вместо короткого кода, мы начинаем создавать свои структуры, все распухает и начинает выглядеть как говнокод. Бесит.
PS: в данном примере, я бы на питоне сделал бы как ты while, но завел бы еще один список, куда скидывал бы зафейленные задания, после цикла соотв, этот список бы перекинул на место опустошенного текущего. Тогда действительно, все время работаешь только с головой списка. Но это такое решение, немножно костыльное.
Исправление soomrack, :
ну, какое было задание такой и вариант решения.
Не-не-не, в задании это было оговорено, что «удалять задания, которые удалось обработать», т.е. может быть и не удалось обработать, и пример моего кода на С++ это демонстрировал.
Если пул сложнее списка, то и не надо список использовать, пусть будет структура сложнее.
Ну т.е. в питоне для этого базовых типов нет, нужно создавать свой? Получается, что в С++ это сделать тупо быстрее, а код будет понятней.
Просто возникает некоторое непонимание что есть что в питоне. Список есть, а получение следующего элемента по предыдущему – нету, только через индексацию, которую нужно будет обновлять при изменении списка, т.е. это не список, а по сути, массив. А если это массив, то какого черта он заводит для него итератор при цикле for и делает еще кучу ненужных вещей, когда надо просто пройтись по индексу….
Вот и получается, что вместо короткого кода, мы начинаем создавать свои структуры, все распухает и начинает выглядеть как говнокод. Бесит.
PS: в данном примере, я бы на питоне сделал бы как ты while, но завел бы еще один список, куда скидывал бы зафейленные задания, после цикла соотв, этот список бы перекинул на место опустошенного текущего. Но это такое решение, немножно костыльное.
Исправление soomrack, :
ну, какое было задание такой и вариант решения.
Не-не-не, в задании это было оговорено, что «удалять задания, которые удалось обработать», т.е. может быть и не удалось обработать, и пример моего кода на С++ это демонстрировал.
Если пул сложнее списка, то и не надо список использовать, пусть будет структура сложнее.
Ну т.е. в питоне для этого базовых типов нет, нужно создавать свой? Получается, что в С++ это сделать тупо быстрее, а код будет понятней.
Просто возникает некоторое непонимание что есть что в питоне. Список есть, а получение следующего элемента по предыдущему – нету, только через индексацию, которую нужно будет обновлять при изменении списка, т.е. это не список, а по сути, массив. А если это массив, то какого черта он заводит для него итератор при цикле for и делает еще кучу ненужных вещей, когда надо просто пройтись по индексу….
Вот и получается, что вместо короткого кода, мы начинаем создавать свои структуры, все распухает и начинает выглядеть как говнокод. Бесит.
Исходная версия soomrack, :
ну, какое было задание такой и вариант решения.
Не-не-не, в задании это было оговорено, что «удалять задания, которые удалось обработать», т.е. может быть и не удалось обработать, и пример моего кода на С++ это демонстрировал.
Если пул сложнее списка, то и не надо список использовать, пусть будет структура сложнее.
Ну т.е. в питоне для этого базовых типов нет, нужно создавать свой? Получается, что в С++ это сделать тупо быстрее, а код будет понятней.
Просто возникает некоторое непонимание что есть что в питоне. Список есть, а получение следующего элемента по предыдущему – нету, только через индексацию, которую нужно будет обновлять при изменении списка, т.е. это не список, а по сути, массив. А если это массив, то какого черта он заводит для него итератор при цикле for и делает еще кучу ненужных вещей, когда надо просто пройтись по индексу….