有一列数据(来自excel),如何通过正则表达式或者pandas(优先pandas),让最低层级保留。例如1.1为1的下层,则删除1,保留1.1。又例如3.1.1.1是3、3.1、3.1.1的下层,所以删除3、3.1、3.1.1
1 1.1 1.2 2 2.1 3 3.1 3.1.1 3.1.1.1 3.1.1.2 3.2
所以,最终输出的结果如
1.1 1.2 2.1 3.1.1.1 3.1.1.2 3.2
收起
a=["1","1.1","1.1.1.1","2","2.1","2.2","2.3","3","3.1","3.2.1","3.1.1.1.1","3.1.2","3.1.3",] b=set() for i in range(len(a)): temp=a[i] for k in range(i+1,len(a)): if a[k].startswith(a[i]): temp = a[k] if len(a[k])>=len(a[i]) else a[i] b.add(temp) print(b)
报告相同问题?