我没有在python中出现过.我需要用范围限制来定义字段'year'.现在我正在使用此代码,但我认为存在缩短的方法.
YEAR_CHOICE = [] for year in range(2020,1899,-1): YEAR_CHOICE += [(year, year)] year = models.PositiveSmallIntegerField('Year', choices=YEAR_CHOICE, default=0)
是否有任何方法可以在一行中定义2元组?也许我可以用其他方式制作我需要的东西?谢谢!
你应该看看使用列表理解:
YEAR_CHOICE = [(year,year) for year in xrange(2020,1899,-1)]
您也应该使用xrange
而不是range
. xrange
是首选,因为它逐个返回值而不是创建整个列表.