gpt4 book ai didi

python - 首先根据长度对字符串元素列表进行排序,然后根据字母顺序对长度匹配的元素进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 19:57:52 25 4
gpt4 key购买 nike

美好的一天!!

请求您帮助解决我当前遇到的问题。我有一个名为 username 的列表,如下所示:

用户名 = ['Paul', 'Polish', 'poloski', 'melind', 'Melinda', 'MeRind','arabic','arabia']

a) 我想根据长度/排序的降序对该列表进行排序b)对于长度相同的元素,我想根据组成元素的每个字母对它们进行排序,就像它在字典中的显示方式一样(例如“arabia”在“arabic”之前)

为了更清楚地说明,我的目标是创建最终修改后的列表,如下所示:

['梅琳达'、'波洛斯基'、'阿拉伯'、'阿拉伯'、'梅林德'、'MeRind'、'波兰语'、'保罗')

感谢您对此的帮助。

最佳答案

你可以这样做:

username.sort(key=lambda item: (-len(item), item.lower()), reverse=False)                                                                                                           

In [3715]: username
Out[3715]:
['Melinda',
'poloski',
'arabia',
'arabic',
'melind',
'MeRind',
'Polish',
'Paul']



您可以在数据框中执行此操作,如下所示:

pd.DataFrame(username).apply(lambda x: list((sorted(x, key=lambda item: (-len(item), item.lower())))))                                                                              

0
0 Melinda
1 poloski
2 arabia
3 arabic
4 melind
5 MeRind
6 Polish
7 Paul


关于python - 首先根据长度对字符串元素列表进行排序,然后根据字母顺序对长度匹配的元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59447304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com