我编写了一个函数来清除对象(在列表中),其评级字段是一个字符串或者其评级为0.这就是我所拥有的:
var str = '[{"id":1,"type":"one","status":"pending","user_id":2},{"id":2,"type":"two","status":"pending","user_id":14},{"id":3,"type":"three","status":"queue","user_id":5},{"id":4,"type":"four","status":"queue","user_id":8 }]';
var array = JSON.parse(str);
var myarray = array.map(function(item) {
return item.type;
});
console.log(myarray);
然后在我的主要方法中,我有这个:
def removeInvalidPlayers(players):
for player in players:
if isinstance(player.rating, str) or player.rating == 0:
players.remove(player)
return players
当我运行我的脚本时,我收到此错误:
allPlayers = removeInvalidPlayers(allPlayers)
allPlayers.sort(key = lambda x: x.rating)
我认为我的Traceback (most recent call last):
File "SquashScraper.py", line 73, in <module>
main()
File "SquashScraper.py", line 68, in main
allPlayers.sort(key = lambda x: x.rating)
TypeError: unorderable types: str() < float()
方法会解决这种类型的错误。知道为什么不是/我应该如何修理?