Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323

Из каждой строки взять первое слово

02.12.2023, 18:18. Показов 1252. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте имеется текст:
Python
1
2
3
data = \
"+1 градус'\n'
+10  градусов"
как проще всего с каждой строки взять 1-е слово и результат получить в списке, будет: ["+1", "+10"]
спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2023, 18:18
Ответы с готовыми решениями:

Скопировать в файле первое слово (до пробела) каждой строки
Здравствуйте! Помогите пожалуйста решить задачку: логфайл типа : 00178F270C82 eth0 000000000000 0 25727 299 1 ...

Из каждой строки нужно взять только первое и последнее слово
Из камышей стаями вспархивали дрозды; они кружили у него над головой, неумолчно переругиваясь между собой. От кромки воды берег круто...

Горе-летописец. Первое слово каждой строки текстового файла (первое поле каждой записи в массиве записей)
Горе-летописец. Первое слово каждой строки текстового файла (первое поле каждой записи в массиве записей) содержит дату события в формате...

10
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
02.12.2023, 19:22
Ципихович Эндрю, для этого нужно взять 1-е слово из каждой строки и добавить в список.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
02.12.2023, 19:37  [ТС]
Цитата Сообщение от eaa Посмотреть сообщение
для этого нужно взять 1-е слово из каждой строки и добавить в список.
про это я в курсе:
Python
1
2
3
4
5
6
7
8
data = \
"+1 градус\n\
+10 градусов"
data = data.split('\n')
dt = []
for l in data:
    dt.append(l.split()[0])
print(dt)
пути короче нет? претендент регулярка
0
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
02.12.2023, 20:56
Python
1
2
3
4
5
6
import re
data = \
"+1 градус\n\
+10 градусов"
#data = re.findall("[-+]?\d+") #целые числа
data = re.findall("[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?") #действительные числа, возможны в экспоненциальной записи
Про последнее есть картинка в миниатюре
Миниатюры
Из каждой строки взять первое слово  
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
03.12.2023, 09:20  [ТС]
ARRAYBOW,
Traceback (most recent call last):
File "C:\pythonProject\sudrf.ru1.py", line 7, in <module>
data = re.findall("[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
TypeError: findall() missing 1 required positional argument: 'string'
2
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
целые числа
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
действительные числа, возможны в экспоненциальной записи
при чём тут числа?
может быть и так
Python
1
2
3
data = \
"градус +1\n\
градусов +10"
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.12.2023, 10:19

Python
1
r'^\S+'
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
03.12.2023, 10:29  [ТС]
iSmokeJC,
и зачем мне такое результат: ['+1']?
Python
1
2
3
4
5
6
import re
data = \
"+1 градус\n\
+10 градусов"
data = re.findall(r'^\S+', data)
print(data)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.12.2023, 10:35
А затем, чтоб ты подумал немного. Поскольку это не наш случай, подскажу - флаг multiline
Кликните здесь для просмотра всего текста
0
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
03.12.2023, 11:57
Python
1
2
3
4
5
6
import re
data = \
"+1 градус\n\
+10 градусов"
#data = re.findall("[-+]?\d+", data) #целые числа
data = re.findall("[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?", data) #действительные числа, возможны в экспоненциальной записи
Забыл добавить data

Добавлено через 5 минут
Ципихович Эндрю, вы просили числа через регулярку, регулярке без разницы с какой стороны слова, он ищет только цифры
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
03.12.2023, 12:14
Ципихович Эндрю, твоим упорством можно искренне "восхищаться")).
Python
1
2
3
4
5
6
data = "+1 градус'\n+10  градусов\n+13     градусов"
res = []
for ss in data.split('\n'):
    res.append(ss.split()[0])
 
print(*res)
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
03.12.2023, 12:32  [ТС]
спасибо всем откликнувшимся, остановился на коде:
Python
1
2
3
4
5
6
import re
data = \
"градус +1\n\
градусов +10"
data = re.findall(r'^\S+', data, re.M)  # re.M=re.MULTILINE
print(data)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2023, 12:32
Помогаю со студенческими работами здесь

Как взять первое слово из строки?
Задача такова: имеется накое-то словосочетание в строке, например: &quot;Иванов Петр Михайлович&quot;. Необходимо произвести поиск (по...

Перенести первое слово каждой строки в ее конец
Нужно перенести первое слово каждой строки в ее конец! Вот моя пограмма, но я не могу понять как написать ту часть программы в...

Удалить первое слово из каждой строки файла
Помогите сделать программу и Объясните пожалуйста. Задача.Дан текстовый файл, состоящий из нескольких строк, строки содержат слова,...

Перенести первое слово каждой строки в ее конец!
Нужно перенести первое слово каждой строки в ее конец! помогите а можно ли этот код доработать так что бы в предпоследнем слове не...

Как считать первое слово из каждой строки?
Как считать первое слово из каждой строки из файла и записать в другой файл столбиком? Пробовал использовать char, string, getline и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru