我正在使用Python 2.7并希望在Django表单中创建一个选项。我在选择下拉列表中有一个我想要的项目字典,但想知道处理这个问题的最pythonic方法。
这是我的解决方案:
my_dict = {
'AL' : 'Alabama',
'AK' : 'Alaska',
etc...
}
my_list = []
for value in (my_dict):
my_list.append('({0}, {1})'.format(value, gateways.get(value)))
my_tuple = '({0})'.format(','.join(my_list))
print my_tuple
(('AL', 'Alabama'),('AK', 'Alaska'),etc...)
这样可行,但对我来说看起来并不优雅。有人可以提出更好的解决方案吗?
答案 0 :(得分:4)
事实上,你不一定需要一个元组来创建一个选项,而是一个列表:
>>> d = {'AL' : 'Alabama', 'AK' : 'Alaska',}
>>> d.items()
[('AK', 'Alaska'), ('AL', 'Alabama')]
对于元组:
>>> tuple(d.items())
(('AK', 'Alaska'), ('AL', 'Alabama'))
答案 1 :(得分:0)
您可以使用列表推导来替换循环
my_list = ['({0}, {1})'.format(value, gateways.get(value)) for value in my_dict]
甚至可以在my_tuple
my_tuple = '({0})'.format(','.join('({0}, {1})'.format(value, gateways.get(value)) for value in my_dict))