Sort list by given order of indices

前端 未结 4 1320
天涯浪人
天涯浪人 2021-02-19 07:40

I have a list of lines read from a file. I need to sort the list by time stamp. I have parsed out the time stamp using regular expressions and place them into a separate list. T

4条回答
  •  长发绾君心
    2021-02-19 08:42

    I think you could do

    [line for (time,line) in sorted(zip(listofTimes, listofLines))]
    

    But if you have (or could write) a function to automatically extract the time from the line,

    def extract_time(line):
        ...
        return time
    

    you could also do

    listofLines.sort(key=extract_time)
    

    or if you want to keep the original list intact,

    sorted(listofLines, key=extract_time)
    

提交回复
热议问题