Счетчик Python для подсчета самой строки commmon, указанной в выводе

63
8

Эй, ребята, я работал над этим кодом, чтобы подсчитывать количество строк в текстовом документе, это в моем предыдущем вопросе, и код выглядит следующим образом:

from collections import Counter
with open("C:\\Documents and Settings\\Zha\\Desktop\\stringResult\\sguresult_lenght10.txt") as f:
content = f.read()
a = Counter(content.split()).most_common()
for line in a:
print line

пример результата линии печати будет выглядеть следующим образом:

('KERNEL32.dll', 58)
('not', 49)
('.data', 49)
("nRX|'", 20)
('xZGVr', 20)
('TyN*u', 20)
('[Wu^D', 20)

часть до запятой - это строка, а следующая - номер события. Теперь вопрос в том, что мне нужно удалить все скобки снаружи и "одиночную цитату" между оставлением только строки и числа, т.е.

KERNEL32.dll, 58
not, 49
.data, 49
etc

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

спросил(а) 2021-01-25T15:47:49+03:00 4 месяца, 4 недели назад
1
Решение
63

Вы можете использовать это:

for line in a:
print '%s, %s' % (line[0], line[1])

ответил(а) 2021-01-25T15:47:49+03:00 4 месяца, 4 недели назад
45

a= dict(Counter(content.split()).most_common())

for i,j in a.items():
print i,j

мой ответ удаляет цитату, нет необходимости добавлять новые условия

ответил(а) 2021-01-25T15:47:49+03:00 4 месяца, 4 недели назад
45

Используйте синтаксис *:

for line in a:
print *line

Синтаксис * указывает функции обрабатывать элементы в коллекции как отдельные параметры.

Пример:

>>>foo = ('Hello', 'World', 1, 2, 3,)
>>>print foo
('Hello', 'World', 1, 2, 3)
>>>print *foo
'Hello' 'World' 1 2 3

ответил(а) 2021-01-25T15:47:49+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема