我想列出这样的经度列表:
['0','1E','2E','3E','4E',....,'179E','180','179W','178W',......,'1W','0']
我可以通过以下方式实现这一目标:
['0'] + [str(i)+'E' for i in range(1,180)] + ['180'] + [str(i)+'W' for i in range(179,0,-1)] + ['0']
但是,我想知道还有更干净的方法吗?
非常感谢
答案 0 :(得分:0)
你可以这样做,但我怀疑它更优雅:
[str(degree % 360) if degree == 0 or degree == 360 or degree == 180 else str(degree) + 'E' if degree < 180 else str(360 - degree) + 'W' for degree in range(361)]
我个人更喜欢这个:
longitudes = [] # ['0','1E','2E','3E',...,'179E','180','179W',...,'1W','0']
for degree in range(361):
if degree == 0 or degree == 360 or degree == 180:
longitudes.append(str(degree % 360))
elif degree < 180:
longitudes.append(str(degree) + 'E')
else:
longitudes.append(str(360 - degree) + 'W')
它更笨重,但对于随意的读者来说,这个代码正在做什么显而易见。