Python словарь автоматически добавляет запятую - PullRequest
2 голосов
/ 29 сентября 2019

кто-нибудь знает, как автоматически добавить запятую в словаре Python?

, например:

colours =  ['red', 'green', 'red','green','blue', 'green', 'green']
d = {}
for item in colours:

    if item not in d:
        d[item] = 1
    else:   
        d[item] = d[item] + 1 

Я хотел бы получить результат как:

{
'red': 2, 
'green': 4, 
'blue': 1,
}

с запятой, а не с обычным, как: dict: {'red': 2, 'green': 4, 'blue': 1}

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

Я пробовал использовать pip install add-trailing-comma, но не знаю, как его использовать илиесли это актуально.

Спасибо

1 Ответ

3 голосов
/ 30 сентября 2019

Если для вас важен repr из dict, вы можете просто создать собственный класс dict и переопределить его.

например:

class CustomDict(dict):
   def __repr__(self):
       items = ''
       item = '{key}: {value},\n'
       full_repr = '{{\n{items}}}'
       for key, value in self.items():
           items += item.format(key=key.__repr__(), value=value.__repr__())
       return full_repr.format(items=items)

CustomDict({'red': 2, 'green': 4, 'blue': 1})
...