Tôi có một danh sách các chuỗi mà tôi muốn sắp xếp.Sắp xếp danh sách các chuỗi và số địa điểm sau các chữ cái trong python
Theo mặc định, các chữ cái có giá trị lớn hơn số (hoặc số chuỗi), các chữ cái này đặt chúng cuối cùng trong danh sách được sắp xếp.
>>> 'a' > '1'
True
>>> 'a' > 1
True
Tôi muốn có thể đặt tất cả các chuỗi bắt đầu bằng một số ở cuối danh sách.
Ví dụ:
danh sách Unsorted:
['big', 'apple', '42nd street', '25th of May', 'subway']
Python của phân loại mặc định:
['25th of May', '42nd street', 'apple', 'big', 'subway']
yêu cầu sắp xếp:
Điều này thực hiện chính xác những gì mà OP yêu cầu. Đó là giá trị chỉ ra rằng mặc dù điều này sẽ không làm [phân loại tự nhiên] (http://stackoverflow.com/questions/4836710/does-python-have-a-built-in-function-for-string-natural-sort) cho số chuỗi, ''2'' sẽ được liệt kê sau' '11''. –
@LukasGraf Điểm tốt. – grc
+1. Trong trường hợp danh sách của bạn bao gồm các số nguyên, bọc 'x' trong' str() ':' được sắp xếp (a, key = lambda x: (str (x) [0] .isdigit(), str (x)) ' –