首页 > 解决方案 > 在拆分函数后访问最后一个字符串以创建新列表

问题描述

我是 Python 的初学者,我一直在编写代码来访问两种类型的文件(dcd 和 inp 文件),将它们组合起来并使用匹配的字符串创建一个新列表。

我一开始就卡在某个地方。我想在这里获取所有 dcd 文件。所以他们有 .dcd 扩展名,但第一部分不一样。所以我在想是否有办法在我拆分字符串后访问它们。

    #collect all dcd files into a list
list1 = []
for filename1 in glob.glob('*/FEP_SYAF014*/FEP1/298/*/*.dcd'):
    filename1 = filename1.split('/')
    filename1.sort()    
    list1.append(filename1) 

我只想获取带有 dcd 扩展名的索引 [5]​​ 并创建一个新列表或改变这个列表,但我不知道该怎么做。

ps 我刚刚发布了代码的第一部分,谢谢! 这个奇怪的部分 看起来更好

这就是我希望它看起来的样子,但已排序且没有 eq* 文件。 想要这个排序

标签: pythonpython-2.7listsplitlist-manipulation

解决方案


只需sort与排序键一起使用:(os.path.basename仅提取文件的基本名称以执行排序):

import os, glob
list1 = sorted(glob.glob('*/FEP_SYAF014*/FEP1/298/*/*.dcd'), key = os.path.basename)

推荐阅读