Python: выполнение операций подсчета в списке списков - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь посчитать количество биграмм в большой группе текста. Я уже брал текст построчно из стандартного ввода, очищал текст и генерировал биграммы. Теперь у меня есть вложенный l oop, который выглядит как строка за строкой:

Input:
[['breakfast', 'large'], ['large', 'portions'], ['portions', 'and'], ['friendly', 'staff']]
[['highly', 'recommend'), ['recommend', 'coming'], ['coming', 'here'], ['here', 'excellent'], ['excellent', 'service']]

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

print ('%s\t%s' % (list(bigrams), 1))

Это даст построчный вывод, такой как:

Output:
['breakfast', 'large'], 1
['large', 'portions'], 1
['portions', 'and'], 1 

1 Ответ

0 голосов
/ 24 февраля 2020

Вы можете преобразовать отдельные элементы списка в кортежи, а затем сравнить кортежи. Создать словарь с кортежами в качестве ключей для поддержания счетчика. Python сравнивает кортежи с содержимым внутри, поскольку они неизменны.

count_dict= {}

for element in input_list:
  element =tuple(element )
  if(element in count_dict):
    count_dict[a]+=1
  else:
    count_dict[a]=1

print(count_dict)
...