#python
Вопрос:
Я просматриваю сайт, на котором есть ссылки, по этим ссылкам есть дети, и их дети порождают своих собственных детей. И дети также порождают своих собственных детей. Я бы хотел, чтобы мой код оставался в цикле. Очистите, а затем найдите ссылки в a, затем сохраните их в списке, проследите за детьми, очистите подробную информацию и затем продолжайте до конца. Затем начните с b и проследите за поколениями детей со своими детьми. Затем перейдите к c, делая то же самое. Мой вопрос в том, как мне сделать что-то подобное на python, оставаясь в цикле. Если есть кто-то, кто столкнулся с подобной проблемой, пожалуйста, помогите мне подсказать, как бы вы это сделали и какова была бы лучшая стратегия. Ниже приведено дерево, чтобы нарисовать картину этих отношений.
родители = [a, b, c]
a_children = [e, f, g]
e_children = [h, j, k]
f_children = [l, m, n]
g_children = [o, p, q]
h_children = [r, s, t]
Я хотел бы, чтобы эта функция выполнялась в цикле до конца
def scrape_save_and_continue(driver, nodes):
print('Scraping Saving amp; Continuing..')
time.sleep(2)
print('Continuing ...')
Заранее спасибо
Комментарии:
1. Разве эта проблема не должна лучше подходить для словарей ? Редактировать: если вы хотите просто распечатать их, проверьте поиск в ширину (петлевая/нерекурсивная версия).
Ответ №1:
В python все дело в отступах. Если вы сделаете цикл for, он завершит все в этом отступе, прежде чем перейти к следующему элементу в списке/диапазоне.
example_list = [a, b, c]
for letter in example_list:
for _ in range(0, 2):
print(letter)
из-за отступа это приведет к печати:
a
a
b
b
c
c
Комментарии:
1. Да, это помогает, я не был уверен в цикле for, так как я не знаю, когда дети перестают иметь детей. Но я думаю, что смогу поработать с циклом for и что-нибудь придумать. Большое вам спасибо. я опубликую свое решение, когда закончу