"Stefan Arentz" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] | | Is there a better way to do the following? | | attributes = ['foo', 'bar'] | | attributeNames = {} | n = 1 | for attribute in attributes: | attributeNames["AttributeName.%d" % n] = attribute | n = n + 1 | | It works, but I am wondering if there is a more pythonic way to | do this.
Perhaps better is using enumerate: >>> attributeNames = {} >>> for n,attribute in enumerate(['foo', 'bar']): attributeNames["AttributeName.%d" % (n+1)] = attribute >>> attributeNames {'AttributeName.1': 'foo', 'AttributeName.2': 'bar'} However, mapping indexes to names should be more useful: >>> aNames = dict(enumerate(['foo', 'bar'])) >>> aNames {0: 'foo', 1: 'bar'} Terry Jan Reedy -- http://mail.python.org/mailman/listinfo/python-list