#python #regex
#python #регулярное выражение
Вопрос:
Я хотел бы, чтобы приведенный ниже код выводил все сохраненное значение в массиве прямо сейчас, он просто помещает первый символ, когда я указываю следующий
Желаемый:
['6.1', '6.2', '6.3', '6.4', '6.5']
6.1
6.2
6.3
6.4
6.5
Актуально:
['6.1', '6.2', '6.3', '6.4', '6.5']
6
6
6
6
6
Проблема:
print (idPercentageDetailsArray[0])
В этом проблема. Я думаю, что запрашиваю индекс массива 0, но вместо этого я получаю позицию 0 каждой строки. Непонятно почему. Любая помощь была бы оценена.
Код:
import re
processDetails = """
Percent Done: 6.1%
Percent Done: 6.2%
Percent Done: 6.3%
Percent Done: 6.4%
Percent Done: 6.5%"""
idPercentageDetails = re.findall(r'Percent Done:s ([0-9] [.,][0-9] |[0-9] )', processDetails, flags=re.MULTILINE)
print (idPercentageDetails)
for idPercentageDetailsArray in idPercentageDetails:
print (idPercentageDetailsArray[0])
Комментарии:
1. Разве ты не хочешь
print (idPercentageDetailsArray)
?
Ответ №1:
Просто измените строку:
print (idPercentageDetailsArray[0])
Для
print (idPercentageDetailsArray)
Поскольку [0]
означает, что вы получаете первый символ строки: idPercentageDetailsArray
Поэтому вы, вероятно, захотите изменить имена переменных на что-то вроде этого, чтобы ваш код имел больше смысла:
import re
process_details = """
Percent Done: 6.1%
Percent Done: 6.2%
Percent Done: 6.3%
Percent Done: 6.4%
Percent Done: 6.5%"""
id_percentage_details = re.findall(r'Percent Done:s ([0-9] [.,][0-9] |[0-9] )', process_details, flags=re.MULTILINE)
print(id_percentage_details)
for id_percentage_value in id_percentage_details:
print(id_percentage_value)
Вывод:
['6.1','6.2', '6.3', '6.4', '6.5']
6.1
6.2
6.3
6.4
6.5