参考:如何在python 中对ip地址的元组进行排序
使用:
sorted(a, key=lambda x: tuple(int(i) for i in x['host'].split('.'))[::-1])
逻辑对元组进行排序,遇到
ValueError:基数为10的int((的文本无效:"错误,
请帮我解决
有些字符不是数字或"quot;在您的输入数据(数组a
(中。
我们不知道您的输入数据,所以我不能直接指出错误,但似乎a
中的一个值可能包含字符串'' Error,
。
这对我来说很好(不会出错(:
a=[{'host': u'10.219.1.1'}, {'host': u'10.91.1.1'}, {'host': u'10.219.4.1'}, {'host': u'10.91.4.1'}]
print(sorted(a, key=lambda x: tuple(int(i) for i in x['host'].split('.'))[::-1]) )
它给出以下输出:
[{'host': '10.91.1.1'}, {'host': '10.219.1.1'}, {'host': '10.91.4.1'}, {'host': '10.219.4.1'}]
你试着运行那个确切的代码了吗?