Как вернуть список целых чисел, которые считают общее количество строк в списке из списка списка строк, которые удовлетворяют заданному условию? - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь получить список целых чисел, которые возвращают количество строк в списке списка строк, который не является алфавитом. например:

count_number([[['B0', 'N1','C']], [['AT', '1', 'K']]])

Это должно дать мне результат

[2,1]

То, что я попробовал, приведено ниже: мне удалось получить только общее количество строк во всем списке.

count = 0
    for sublist in List1:
        for words in sublist:
            for item in words:
                if not item.isalpha():
                    count +=1
return count

Как превратить это в список int? Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Пожалуйста, проверьте это.


def count_number(List1):
    out_put_list = []
    for sublist in List1:
        for words in sublist:
            count = 0
            for item in words:
                if not item.isalpha():
                    count +=1
            out_put_list.append(count)
    return out_put_list


print(count_number([[['B01', 'N1','C1'], ['B01', 'N1','C1']], [['AT1', '1', 'K']]]))

Вывод:

[3, 3, 2]
0 голосов
/ 24 марта 2020

Вы можете использовать регулярное выражение:

import re

l = [[['B0', 'N1','C']], [['AT', '1', 'K']]]

[sum(bool(re.search('[^a-zA-Z]', w)) for w in e) for i in l for e in i]

вывод:

[2, 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...