python: получить наиболее частое значение в списке словарей

У меня есть список словарей, имеющих такую ​​форму:

xs = [ { 'date': 1 }, { 'date': 1 }, { 'date': 2 }, { 'date': 1 }, { 'date': 4 }] 

Мне нужно получить дату, которая в основном представлена, самая популярная дата среди всех словарей

  • транспонированная матрица python и zip
  • Как удалить элемент из списка, итерации его в Python?
  • Печать кортежа со строковым форматированием в Python
  • Как получить индекс списка и элемент одновременно в Python?
  • Обновление статуса Facebooks с помощью Python
  • Python 'self' ключевое слово
  • Мой подход:

    1. сортировать список по дате
    2. группа по дате
    3. получить максимальную длину групп ()

    пример:

     sorted_xs = sorted(xs, key=lambda x: x['date']) ys = groupby(sorted_xs, lambda x: x['date']) ??? 

    это не работает (и уродливо):

     max(list(groupby(sorted_xs, lambda x: x['date'])), key=lambda (k, x):len(list(x))) 

    Знаете ли вы какой-либо более простой и выразительный метод в python?

  • Безопасен ли протокол журнала Python?
  • python с использованием переменных из другого файла
  • быстро повторяя список кортежей
  • как динамически создавать экземпляр класса в python?
  • Python, как писать в двоичный файл?
  • Почему Python «добавляет» не «push»?
  • One Solution collect form web for “python: получить наиболее частое значение в списке словарей”

    Используйте объект collections.Counter() для подсчета каждой даты:

     from collections import Counter date_counts = Counter(d['date'] for d in xs) most_common = {'date': date_counts.most_common(1)[0][0]} 

    Я предположил, что вы хотите получить результат в виде словаря здесь, но вы можете просто использовать date_counts.most_common(1)[0][0] прямо, если все, что вас интересует, – это значение даты.

    Демо-версия:

     >>> from collections import Counter >>> xs = [{'date': 1}, {'date': 1}, {'date': 2}, {'date': 1}, {'date': 4}] >>> date_counts = Counter(d['date'] for d in xs) >>> {'date': date_counts.most_common(1)[0][0]} {'date': 1} 
    Python - лучший язык программирования в мире.