Вы можете попробовать для цикла в обратном порядке, поэтому для some_list вы сделаете что-то вроде:
list_len = len(some_list)
for i in range(list_len):
reverse_i = list_len - 1 - i
cur = some_list[reverse_i]
# some logic with cur element
if some_condition:
some_list.pop(reverse_i)
Таким образом, индекс выравнивается и не страдает от обновлений списка (независимо от того, поп-элемент или нет).
Цель:
Модульное программирование - это технология разработки программного обеспечения, которая подчеркивает разделение функциональности программы на независимые взаимозаменяемые модули, так что каждая из них содержит все необходимое для выполнения только одного аспекта желаемая функциональность.
Я полагаю, что становится сложно писать большие программы без модульного / многоразового кода. В nodejs мы можем создавать модульные программы, используя
module.exports
, определяя, что мы открываем и составляем нашу программу с помощьюrequire
.Попробуйте этот пример:
fileLog .js
function log(string) { require('fs').appendFileSync('log.txt',string); } module.exports = log;
stdoutLog.js
function log(string) { console.log(string); } module.exports = log;
program.js
const log = require('./stdoutLog.js') log('hello world!');
выполнить
$ node program.js
hello world!
Теперь попробуйте выполнить обмен файлами ./stdoutLog.js для ./fileLog.js.