【发布时间】:2019-12-15 10:17:15
【问题描述】:
我有一个字符串列表。我想根据第一个空格后的字符对列表进行排序(字母数字排序)。如果第一个空格后的字符相同,则按第一个空格前的字符排序
L2 = ["ea first qpx", "India Kashmir Equator Khidderpore", "India Kashmir Alipore" , "az0 first qpx", "India Ambati Chembur Mahavir"]
【问题讨论】:
-
到目前为止你尝试过什么?问题出在哪里?
-
我认为对于第一种情况,您可以尝试正则表达式并排序。
sorted(l2,key= lambda x: re.findall('\s(.)',x)[0]) -
感谢得到答案,我没有拆分内部字符串,所以当我是 x[1::] 时,它从第二个字符开始,我得到了错误的排序。我在做 L2.sort(key = lambda x:(x[1::],x[0])) 而应该是 L2.sort(key = lambda x:(x.split()[1::] ,x[0]))
标签: python python-3.x list sorting