从Python获取两个值

时间:2014-08-13 01:04:27

标签: python

大家好我在while循环中打印一堆这些坐标。它看起来像这样:

{u'type': u'Point', u'coordinates': [-83.118532, 42.378364]}
{u'type': u'Point', u'coordinates': [-86.637723, 36.04577]}
{u'type': u'Point', u'coordinates': [-77.040753, 38.998019]}
{u'type': u'Point', u'coordinates': [-105.205712, 39.665206]}
{u'type': u'Point', u'coordinates': [-86.303772, 39.9525]}
{u'type': u'Point', u'coordinates': [-38.386702, -12.950518]}
...

我的第一个问题是,如果我想获取2个值并说将它们添加到双精度数中。像

Double latitude = -83.118532
Double longitude = 42.378364

然后转到latitude = -86.637723longitude = 36.04577 ......等等

最好的方法是什么?我使用Tweepy来输出用户的坐标,如果这有帮助的话。

基本上我试图获取经度值和纬度值,因为我最终会在地图上绘制这些值。

希望我的问题很明确!如果您有任何问题,请告诉我们!

3 个答案:

答案 0 :(得分:2)

从该数据结构中获取lat和long cordinates的最简单方法是使用解包。像这样:

yourDict = {u'type': u'Point', u'coordinates': [-38.386702, -12.950518]}
latitude, longitude  = yourDict['coordinates']

print latitude
#=> -38.386702

print longitude 
#=> -12.950518

以这种方式使用解包,您可以轻松地以最语义的方式使用您创建的数据结构。

答案 1 :(得分:2)

您正在打印的是本机Python数据结构:包含字符串和列表的字典。要引用坐标值,您可以这样做:

data = {u'type': u'Point', u'coordinates': [-83.118532, 42.378364]}
latitude, longitude = data['coordinates']

我建议您使用Python的原生数据结构read up

答案 2 :(得分:1)

您的代码中没有while循环。你打印什么价值,在哪里?

让我们说你正在打印一个叫coords

的东西

coords = {u'type': u'Point', u'coordinates': [-38.386702, -12.950518]}

这是dict类型,字符串coordinates是关键字。使用dict类型,您可以通过以下方式访问密钥的信息:

latitude = coords['coordinates'][0]
longitude = coords['coordinates'][1]