我已经设法按数字对地址列表进行排序,但我的问题是我试图按数字和字母顺序对它们进行排序
address_list = ['100 Parker St, Springfield, MA','131 Parker St, Springfield, MA', '102 Boston Rd, Springfield, MA', '181 Boston Rd, Springfield, MA', '150 King St, Springfield, MA','103 King St, Springfield, MA']
address_list.sort()
for address in sorted(address_list):
print(address)
你说的什么意思
如果您的意思是要按数字排序,然后按数字旁边的字母排序,并且数字具有固定长度(如您的示例中的3)
sorted
函数会自动执行此操作。如果数字长度不相等,您可以在前面加上一些额外的零,并将其用作排序函数的键输出
编辑:看起来您甚至不需要实现
__eq__
。下面的示例不实现__eq__
您可以将每个地址映射到实现
__lt__
和__eq__
的单独类,然后根据该类进行排序。例如:这将首先对地址进行数字排序,然后按字母顺序排序。在本例中,它打印:
相关问题 更多 >
编程相关推荐