我有以下代码,根据IP提供城市:
RANGES = {
'Paris': [
{'start': '10.10.0.0', 'end': '10.10.255.255'},
{'start': '192.168.1.0', 'end': '192.168.1.255'},
],
'NYC': [
{'start': '10.12.0.0', 'end': '10.12.255.255'},
{'start': '172.16.10.0', 'end': '172.16.11.255'},
{'start': '192.168.2.0', 'end': '192.168.2.255'},
]
}
def get_city(self, ip):
print 'Here'
for city, ipranges in self.RANGES.items():
for iprange in ipranges:
if ip >= iprange['start'] and ip <= iprange['end']:
return city
我还有一个变量:
RECORDS = [
{'user_id': 1, 'created_at': '2017-01-01T10:00:00', 'status': 'paying'},
{'user_id': 1, 'created_at': '2017-03-01T19:00:00', 'status': 'paying'},
{'user_id': 1, 'created_at': '2017-02-01T12:00:00', 'status': 'cancelled'},
{'user_id': 3, 'created_at': '2017-10-01T10:00:00', 'status': 'paying'},
{'user_id': 3, 'created_at': '2016-02-01T05:00:00', 'status': 'cancelled'},
]
为此,我尝试实现以下功能:
def get_status(self, user_id, date): //should return the status
我不知道如何解析列表->;匹配值->;返回created_at
和user_id
匹配组合的状态
你可以这么做
这应该做到:
这里,我们将遍历
list
,并使用其中的dict
元素来匹配其键(user_id
和created_at
),并检查这些值是否与所需的值匹配。当然,确保RECORDS
值在函数中可用。你知道吗相关问题 更多 >
编程相关推荐