如何将Python循环生成的纬度数据存入列表并按指定格式输出
问题:如何修改Python代码将纬度输出为列表格式?
原代码
from opensky_api import OpenSkyApi api = OpenSkyApi() states = api.get_states(bbox=(51.3500, 51.5900, -0.6342, -0.2742)) for s in states.states: lat = s.latitude print(lat)
当前输出
51.4775 51.4589 51.4774 51.4774
期望输出
[51.4775, 51.4589, 51.4774, 51.4774]
嗨,这事儿好办!你现在的代码是循环一次就打印一个纬度值,所以输出是每行一个数。要改成列表格式,只需要先把所有纬度值收集到一个列表里,再一次性打印这个列表就行,给你两种实现方式:
方法1:普通循环收集
from opensky_api import OpenSkyApi api = OpenSkyApi() states = api.get_states(bbox=(51.3500, 51.5900, -0.6342, -0.2742)) # 创建空列表存储纬度 latitude_list = [] for s in states.states: latitude_list.append(s.latitude) # 打印整个列表 print(latitude_list)
方法2:列表推导式(更简洁)
如果你喜欢更紧凑的写法,用列表推导式一行就能生成列表:
from opensky_api import OpenSkyApi api = OpenSkyApi() states = api.get_states(bbox=(51.3500, 51.5900, -0.6342, -0.2742)) # 用列表推导式直接生成纬度列表 latitude_list = [s.latitude for s in states.states] print(latitude_list)
两种方法都会输出你想要的列表格式,本质都是先把所有值存起来再统一输出,而不是逐个打印~
内容的提问来源于stack exchange,提问作者Bintang Pradana
相关产品推荐
相关产品推荐

