бывает нужно создать "пустые" словари для будущего хранения каких-нибудь данных.
т.е. есть список ключей, и по этим ключам будут доступны какие-нибудь списки. что приходит в голову:
        propListByTag = {}
        for tag in LangByTag.iterkeys():
            propListByTag[tag] = []

можете ли предложить более красивое решение?
propListByTag = dict((tag, list()) for tag in LangByTag)
Всё проще :-)

>>> keys = ['a', 'b', 'c']
>>> {}.fromkeys(keys, [])
{'a': [], 'c': [], 'b': []}

Last edited Aug. 11, 2009, 9:28 a.m.

>>> keys = [1,2,3,4,5]
>>> a = dict((tag, list()) for tag in keys)
>>> print a[1] is a[2]
False
>>> b = {}.fromkeys(keys, list())
>>> print b[1] is b[2]
True

По-моему, первый способ лучше.

Да, я ошибся :)