!= should work fine in a filter/lambda. Lambda is just syntax for an anonymous function, so you should be able to do anything. Example:
>>> a = [1,2,3]
>>> filter(lambda z: z == 2, a)
[2]
>>> filter(lambda z: z != 2, a)
[1, 3]
Instead of this:
losers = filter(lambda p: p['state'] == 'SurrenderAccepted', data['players']) or filter(lambda p: p['state'] == 'Booted', data['players'])
You can simplify by moving the "or" inside the lambda:
losers = filter(lambda p: p['state'] == 'SurrenderAccepted' or p['state'] == 'Booted', data['players'])
Though this would miss Eliminated players, so I'd recommend just checking p['state'] != 'Winner'