Вопросы о split () и для каждого цикла

1

Мне дают файл, который выглядит так со многими другими строками, которые я даю.

4
5 r begin
20 wr Dark tunnel

Я создал класс для обработки каждой части строки, которую я пытаюсь разделить, используя операцию split(). Для этого я делю на основе пробелов, но, например, в 3-й строке с надписью "Темный туннель" я тоже разбиваю это на части, но мне нужно, чтобы он читался как "Темный туннель".

Другой вопрос, который у меня возникает, заключается в том, что для каждого цикла я хочу выполнить одну и ту же операцию для каждой строки, за исключением первой строки, которая является просто числом 4, где мне нужно умножить это на себя минус 1 (4 * ( 4-1))

Я создал класс, который берет линию разделения и назначает каждую часть, которая разделена. Я также сделал для каждого цикла, но на данный момент он выполняет ту же операцию для каждой строки, включая первую.

class point:
    def __init__(self, val, route, title):
        self.value = val
        self.route = route
        self.title = title

Хотите правильно разделить строки и выполнить операцию, отличную от первой.

  • 0
    str.split(None,3) следует избегать разбиения последнего элемента
Теги:

1 ответ

1

Для разделения вы можете сделать:

parts = s.split()
val, route, title = parts[0], parts[1], ' '.join(parts[2:])

Для цикла for вы можете сделать:

for index, line in enumerate(lines):
    if index == 0:
        result = int(line)*(int(line)-1)
    else:
        # do something else

Все вместе:

for index, line in enumerate(lines):
    if index == 0:
        result = int(line)*(int(line)-1)
    else:
        parts = line.split()
        val, route, title = parts[0], parts[1], ' '.join(parts[2:])
        p = point(val, route, title)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню