在Python“subict”中打印第一个

时间:2017-04-06 11:21:59

标签: python-2.7

我正在运行一个脚本(Python2.7),它从我的Husqvarna Automower收集数据 我想在变量中存储一些信息来打印输出,但我似乎想要得到的信息是在一个子句中(不知道那是不是正确的术语)

如果我在脚本pp.pprint(mow.status())

中运行此操作

我明白了

{   u'batteryPercent': 99,
u'cachedSettingsUUID': u'59a88728-804a-47b6-824c-d2b093bd980e',
u'connected': False,
u'lastErrorCode': 0,
u'lastErrorCodeTimestamp': 0,
u'lastLocations': [   {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57352,
                          u'longitude': 12.047441666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573521666666664,
                          u'longitude': 12.047431666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573535,
                          u'longitude': 12.047445},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57356333333333,
                          u'longitude': 12.047563333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573573333333336,
                          u'longitude': 12.047613333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57349,
                          u'longitude': 12.047508333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573485,
                          u'longitude': 12.047495},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57347166666667,
                          u'longitude': 12.047833333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57348833333333,
                          u'longitude': 12.047818333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573526666666666,
                          u'longitude': 12.047773333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573526666666666,
                          u'longitude': 12.047771666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57357666666667,
                          u'longitude': 12.047841666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57354333333333,
                          u'longitude': 12.047875},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57358333333333,
                          u'longitude': 12.047835},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57357666666667,
                          u'longitude': 12.047818333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573635,
                          u'longitude': 12.047693333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57364666666667,
                          u'longitude': 12.04762},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57359,
                          u'longitude': 12.04724},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57359,
                          u'longitude': 12.047235},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57350666666667,
                          u'longitude': 12.047486666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.5735,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57351666666667,
                          u'longitude': 12.047533333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57351666666667,
                          u'longitude': 12.04756},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57353333333333,
                          u'longitude': 12.047541666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57353,
                          u'longitude': 12.047571666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346,
                          u'longitude': 12.047595},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346,
                          u'longitude': 12.04761},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573431666666664,
                          u'longitude': 12.04773},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573435,
                          u'longitude': 12.047711666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346833333333,
                          u'longitude': 12.047578333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573495,
                          u'longitude': 12.047641666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57349333333333,
                          u'longitude': 12.04764},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57347333333333,
                          u'longitude': 12.047643333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57346833333333,
                          u'longitude': 12.04771},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573478333333334,
                          u'longitude': 12.047773333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57325,
                          u'longitude': 12.047635},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324833333333,
                          u'longitude': 12.047635},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324166666667,
                          u'longitude': 12.047633333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57324166666667,
                          u'longitude': 12.047631666666666},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573285,
                          u'longitude': 12.047618333333334},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573301666666666,
                          u'longitude': 12.047596666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573303333333335,
                          u'longitude': 12.047595},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57331166666667,
                          u'longitude': 12.047561666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573315,
                          u'longitude': 12.047555},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57331666666666,
                          u'longitude': 12.047555},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57333833333333,
                          u'longitude': 12.047551666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.57342166666667,
                          u'longitude': 12.047566666666667},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573365,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573366666666665,
                          u'longitude': 12.047553333333333},
                      {   u'gpsStatus': u'USING_GPS_MAP',
                          u'latitude': 57.573346666666666,
                          u'longitude': 12.047558333333333}],
u'mowerStatus': u'OFF_DISABLED',
u'nextStartSource': u'WEEK_TIMER',
u'nextStartTimestamp': 1491782400,
u'operatingMode': u'AUTO',
u'showAsDisconnected': False,
u'storedTimestamp': 1491435026887L,
u'valueFound': True}

我可以使用

获取batteryPercent
        dic_info = mow.status()

        Battery = dic_info.get('batteryPercent')

        print Battery

但我如何以类似的方式获得经度和纬度,我只需要第一个?

Thanx Martin

1 个答案:

答案 0 :(得分:0)

您只需访问包含lastLocations的{​​{1}}即可。当你到达那里时,只需访问位置list of dicts中的元素,然后使用[0]['latitude']来获取其特定值。

['longitude']

您可以将d = dict(mow.status()) >>> print(d['lastLocations'][0]) {'latitude': 57.57352, 'gpsStatus': 'USING_GPS_MAP', 'longitude': 12.047441666666666} >>> print(d['lastLocations'][0]['latitude']) 57.57352 >>> print(d['lastLocations'][0]['longitude']) 12.047441666666666 的索引更改为print(d['lastLocations'][0][1],以访问此[2]的第二个和第三个元素。

  • list
  • {u'gpsStatus': u'USING_GPS_MAP', u'latitude': 57.573521666666664, u'longitude': 12.047431666666666}

P.s。:您可以使用{u'gpsStatus': u'USING_GPS_MAP', u'latitude': 57.573535, u'longitude': 12.047445}获取print(len(d['lastLocations']))列表中的元素数量。

lastLocations

现在你知道你不能使用大于>>> print(len(d['lastLocations'])) 50 的{​​{1}},换句话说,index