我想删除列表中的最后一个字符串,即库名称(由“\”分隔)。我拥有的文本字符串包含编译时使用的库的路径。这些库由空格分隔。我想保留每一条路径,但不保留到库名,只保留它前面的一个根。你知道吗
示例:
text = " /opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4/crtbeginT.o /opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4/crtfastmath.o /opt/cray/cce/8.2.5/craylibs/x86-64/no_mmap.o /opt/cray/cce/8.2.5/craylibs/x86-64/libcraymath.a /opt/cray/cce/8.2.5/craylibs/x86-64/libcraymp.a /opt/cray/atp/1.7.1/lib/libAtpSigHandler.a /opt/cray/atp/1.7.1/lib/libAtpSigHCommData.a "
我希望我的输出像-
Output_list =
[/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/atp/1.7.1/lib,
/opt/cray/atp/1.7.1/lib]
最后,我想删除输出列表中的重复项,使列表看起来像。你知道吗
New_output_list =
[/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/atp/1.7.1/lib]
我使用split()函数得到结果,但是我很难从路径中丢弃库名称。你知道吗
任何帮助都将不胜感激。你知道吗
试试这个
您似乎想要(不要尝试对路径执行字符串操作,它肯定会以糟糕的方式结束):
^{} 将一条路径拆分为一条路径,并从路径中获取目录名。我们对
text
,split
中的每一项都执行此操作,并将其转换为基于空格的list
。这个系列的每一项都是这样做的。 要删除重复项,我们只需将其转换为set
,然后最终转换为list
。你知道吗相关问题 更多 >
编程相关推荐