我有以下 list :
list1 = ['# Heading', '200: Stop Engine', '', '20: Start Engine', '400: Do xy']
我想要的是:
list2 = ['20: Start Engine', '200: Stop Engine', '400: Do xy']
因此,应删除或忽略空列表项和以#开头的列表项,其余项应按数字排序.我try 用split()
来提取数字和#:
list2 = [i.split() for i in list1]
但是,我在列表中获得一个列表会带来一些其他问题(我需要将列表的内容转换为int
进行排序,这只有在我有string
的情况下才有效).输出将为:
list2 = ['#', 'Heading', '200:', 'Stop', 'Engine', '', '20:', 'Start', 'Engine', '400:', 'Do', 'xy']
如果I是split(':')
,我不能删除#.
对于我try 的分类:
list2.sort(key = lambda x: x[0])
按编号对项目进行排序.这只有在我可以删除#和空项并将string
转换为int
的情况下才有效.我希望有人能帮助我!提前谢谢!