Iterrows возвращает кортеж (индекс, (столбцы)), поэтому решение состоит в том, чтобы разобрать его немного по-другому:
for _,(first_name, last_name) in names.iterrows():
url = "https://zbmath.org/authors/?q={}+{}".format(first_name,
last_name)
r = requests.get(url)
html = BeautifulSoup(r.text)
html=str(html)
frequency = re.findall('Joint\sPublications">(.*?)</a>', html)
freq.append(frequency)
print(freq)
Это - действительно бесконечный цикл.
Под капотом компилятор/дрожание оптимизирует это к (эффективно) простой операции JMP.
Это - также эффективно то же как:
while (true)
{
}
(за исключением того, что это также оптимизировано далеко, так как (истинная) часть некоторое время выражения обычно требует своего рода сравнения, однако в этом случае, нет ничего для сравнения. Просто сохраните цикличное выполнение!)
Да, это - бесконечный цикл.
Примеры:
for (; ;) { }
(иначе: краб)
while (true) { }
do { } while (true)
Да, это - бесконечный цикл. Можно не учесть любое из этих трех выражений, хотя, по моему опыту, это является обычно или первым или все 3.
Нет никаких значений по умолчанию. Ничто не инициализируется, ничто не увеличено и нет никакого теста для завершения.
Это бесконечно цикл. Эффективно, это совпадает с этим:
while (true)
{
}
for (; ;) { }
бесконечный цикл, Вы корректны.
если Вы хотите использовать его, то необходимо поместить некоторое условие в тело цикла, так, чтобы это могло выйти из цикла.
for (; ;)
{
if (conditionTrue)
break;
else
continue;
}
Нет никаких значений по умолчанию для первой и третьей части (они не принимают значение по умолчанию ни к чему, и она работала бы). Значение по умолчанию для условного выражения true
который сделает for(;;)
эффективно бесконечный цикл. (Если значение по умолчанию, как предполагалось, было false
, было бы бесполезно иметь такую конструкцию).
Точно так же, как в C и C++ можно опустить любой из этих трех или всех трех.
В Справочнике программиста Microsoft C# говорится:
Все выражения для оператора являются дополнительными; например, следующее утверждение используется для записи бесконечного цикла:
for (;;) {
...
}