Python:如何根据特定ch的计数对列表排序

2024-09-28 22:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个程序,根据特定字符的计数对字符串列表进行排序,即dot.

['C222.', 'C4444', 'C22..', 'C333.', 'C2222']是如何导入我的列表的,但我需要这样放置它们:

['C2222', 'C4444', 'C333.', 'C222.', 'C22..']

如果项目有相同数量的点,我不在乎如何排序

提前谢谢!你知道吗


Tags: 项目字符串程序列表数量排序字符dot
2条回答

可以将^{}与检查指定字符计数的键函数一起使用:

>>> lst = ['C222.', 'C4444', 'C22..', 'C333.', 'C2222']
>>> sorted(lst, key=lambda t: t.count("."))
['C4444', 'C2222', 'C222.', 'C333.', 'C22..']

另一种方法是numpy

np.array(ll)[np.argsort([i.count('.') for i in ll])].tolist()
#['C4444', 'C2222', 'C222.', 'C333.', 'C22..']

相关问题 更多 >