访问列表中字典中的项目

时间:2013-03-14 12:45:16

标签: python list dictionary geolocation

我目前正在使用python中的Visual跟踪路由程序(在Ubuntu上)。我正在使用pygeoip来获取坐标(以及其他信息)。我将每个IP的数据存储在一个列表中(listcoor)。我遇到的问题是,一旦将特定的字典项放入listcoor

,就会访问它
def vargeolocating(matchob): # matchob is a list of IPs
    print "Geolocating IP addresses"
    gi = GeoIP.open("/usr/share/GeoIP/GeoLiteCity.dat",GeoIP.GEOIP_STANDARD)
    i = 0
    listcoor = []
    while ( i < len(matchob)):
        holder = gi.record_by_addr(matchob[i])
        if holder is None:# for local addresses
            print "None"
        else:       
            listcoor.append(holder) 
        i = i + 1 
    print holder['longitude'] # Prints out the last longitude
    print listcoor[12] # Prints all information about the last IP (this longitude matchs the above longitude
    print listcoor[12['longitude']] # Should print just the longitude, matching the two longitudes above

最后一个打印显示错误“TypeError:'int'对象没有属性' getitem '”

1 个答案:

答案 0 :(得分:3)

您正在尝试索引12,但无法将整数编入索引;移动索引语法以索引12listcoor索引的结果

listcoor[12]['longitude']

这是怎么回事:

>>> 12['longitude']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is unsubscriptable