Python - Как сгруппировать ключи с одинаковыми значениями в словаре [дубликаты]

Нет для каждого цикла, никакого дополнительного плагина jQuery не требуется ... Просто вызовите функцию внизу. Получено из Разница между двумя датами в годах

        function dateDiffInYears(dateold, datenew) {
            var ynew = datenew.getFullYear();
            var mnew = datenew.getMonth();
            var dnew = datenew.getDate();
            var yold = dateold.getFullYear();
            var mold = dateold.getMonth();
            var dold = dateold.getDate();
            var diff = ynew - yold;
            if (mold > mnew) diff--;
            else {
                if (mold == mnew) {
                    if (dold > dnew) diff--;
                }
            }
            return diff;
        }

0
задан James Njuguna 18 January 2019 в 07:24
поделиться

1 ответ

Вы можете сначала получить уникальные имена, а затем пройтись по каждому имени, группируя файлы под именем.

# store the names (the keys of the new dict) as a set (keeps elements unique)
names = set(files.values())

# use a list comprehension, iterating through keys and checking the values match each n
d = {}
for n in names:
    d[n] = [k for k in files.keys() if files[k] == n]

Вы также можете выбрать диктовку:

d = {n:[k for k in files.keys() if files[k] == n] for n in set(files.values())}

Результат:

{'Stan': ['Code.py'], 'Randy': ['Input.txt', 'Output.txt']}
0
ответ дан TrebledJ 18 January 2019 в 07:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: