簡體   English   中英

如何在 Python 中對字符串列表進行排序

[英]How to sort a list of strings in Python

Python中,我有一個帶有以下符號的str列表:

MyList = ['1:10', '5:2', '10:7', ...]

其中:前面的字符代表行號,后面的字符是列號。
我想知道是否可以像這樣對列表進行排序:

MyList = ['1:1', '1:2', '1:3', ..., '2:1', '2:2', '2:3', ...]

當然。 使用sortedkey=參數(或list.sort() ),我們可以定義一個函數,用冒號分割每個項目並將部分轉換為整數。 之后,Python 的自然排序會完成剩下的工作。 (諸如列表之類的可迭代對象是逐項比較的,而整數則按照您期望的整數進行比較。)

>>> MyList = ['5:2', '1:10', '93:881', '93:8', '4:8', '10:7']
>>> sorted(MyList, key=lambda item: [int(part) for part in item.split(":")])
['1:10', '4:8', '5:2', '10:7', '93:8', '93:881']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM