如何除去列表中每个项目的前2个字符以外的所有字符?

2024-10-03 06:25:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用从包含多个配置文件的目录生成的列表。所有配置文件都遵循相同的命名约定,它们以两个字母开头,后跟2-3个数字,以.conf结尾

aa01.conf, aa02.conf, aa03.conf, bb01.conf, bb02.conf,...zz99.conf, zz100.conf

我只对每个文件开头的两封信感兴趣。如何剥离这些数字“.conf”,然后从结果中删除所有重复的数字


Tags: 目录列表conf配置文件结尾字母数字命名
2条回答

如果只需要前两个字符:

list_1 = ['aa01.conf', 'aa02.conf', 'aa03.conf', ... 'zz99.conf', 'zz100.conf']
list_2 = [item[:2] for item in list_1]

删除重复项

list_3 = list(set(list_2))

要获得前两个字符和扩展名,可以执行如下操作

your_list = ["aa01.conf", "aa02.conf", "aa03.conf", "bb01.conf", "bb02.conf"]

your_list_with_out_duplicates = list(set(your_list))
your_lis_of_first_two_char = [
    f"{x[:2]}.{x[-4:]}" for x in your_list_with_out_duplicates
]
print(your_lis_of_first_two_char)

输出

['bb.conf', 'aa.conf', 'aa.conf', 'aa.conf', 'bb.conf']

相关问题 更多 >