Python и текстовое управление

Согласно Спецификации языка Java :

BasicForStatement:
    for ( ForInitopt ; Expressionopt ; ForUpdateopt ) Statement

ForStatementNoShortIf:
     for ( ForInitopt ; Expressionopt ; ForUpdateopt ) StatementNoShortIf

ForInit:
     StatementExpressionList
     LocalVariableDeclaration

ForUpdate:
    StatementExpressionList

StatementExpressionList:
    StatementExpression
    StatementExpressionList , StatementExpression

14.14.1.2. Итерация для оператора

& nbsp; & nbsp; & nbsp; & nbsp; Затем выполняется шаг для итерации, как показано ниже:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; это оценивается. Если результат имеет тип Boolean, он подлежит распаковке без преобразования (§5.1.8).

blockquote>

Другими словами, t < Integer.parseInt(in.readLine()) выполняется один раз за каждую итерацию цикла.

Это лучше объяснено в Java Tutorial :

Оператор for обеспечивает компактный способ итерации по диапазону значений. Программисты часто называют его «циклом for» из-за того, как он многократно повторяется, пока не будет выполнено определенное условие. Общая форма оператора for может быть выражена следующим образом:

for (initialization; termination; increment) {
    statement(s) }

При использовании этой версии оператора for имейте в виду, что:

  • Выражение инициализации инициализирует петля; выполняется один раз, когда начинается цикл.
  • Когда выражение завершения оценивается как ложное, цикл завершается.
  • Выражение приращения вызывается после каждой итерации цикла ; для этого выражения вполне приемлемо увеличивать или уменьшать значение.
blockquote>

Если вы хотите что-то похожее на for t in range(int(input()), вы можете использовать Streams API:

import static java.lang.Integer.parseInt;
import static java.lang.System.console;

// option 1
try (final BufferedReader console = new 
           BufferedReader(new InputStreamReader(System.in))) {
  IntStream.range(0, parseInt(console.readLine())).forEach(i -> {
    System.out.println(i);
  });
}

// option 2 (fails in some IDEs as console() will return null)
IntStream.range(0, parseInt(console().readLine())).forEach(i -> {
  System.out.println(i);
});

8
задан slm 22 July 2015 в 11:54
поделиться

3 ответа

Вне регулярных выражений вот некоторые важные функции:

Для инструментов я рекомендую смотреть на следующее:

  • Свист, чистая поисковая система Python, которая даст Вам некоторые хорошие реальные примеры парсинга текста с помощью pyparsing и обработки текста в Python в целом.

  • Хорошие обзоры Ned Batcheldor различных инструментов парсинга Python.

  • mxTextTools

  • Исходный код Docutils для более усовершенствованной обработки текста в Python, включая сложный конечный автомат.

Править: Польза ссылки, характерные для обработки текста в Python:

  • Обработка текста в Python David Mertz. Я думаю, что книга все еще доступна, хотя это, вероятно, немного датировано теперь.
19
ответ дан 5 December 2019 в 06:39
поделиться

В Python существует книжная обработка текста. Я еще не считал его сам, но я прочитал другие статьи этого автора, и обычно они - хороший персонал.

4
ответ дан 5 December 2019 в 06:39
поделиться

Я нашел объект. __ документ __ и dir (obj) управляет невероятно полезный в изучении языка.

например.

a = "test,test,test"

Что я могу сделать с a? dir (a). Кажется, что я могу разделить a.

vec = a.split (",")

Что такое vec? vec. __ документ __:

"новый список инициализируется от объектов последовательности"

Что я могу сделать с vec? dir (vec).

vec.sort ()

и т.д...

2
ответ дан 5 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: