Python - массив не выводит все значение только символ - PullRequest
0 голосов
/ 07 апреля 2019

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

Желаемый:

['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 Ответ

0 голосов
/ 07 апреля 2019

Просто измените строку:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...