📜  Python|按后缀分隔列表元素(1)

📅  最后修改于: 2023-12-03 15:19:20.245000             🧑  作者: Mango

Python | 按后缀分隔列表元素

在Python中,可以使用不同的方法来按照文件后缀名对列表中的元素进行分组。这在处理文件列表时非常有用,例如在文件分类、批量处理等情况下。

以下是一些通过Python代码将列表元素按照后缀名分隔的方法和示例。

方法一:使用字典
file_list = ['file1.txt', 'file2.py', 'file3.txt', 'file4.py']

file_dict = {}
for file in file_list:
    # 获取文件后缀名
    extension = file.split('.')[-1]
    if extension not in file_dict:
        file_dict[extension] = []
    file_dict[extension].append(file)

# 输出分组后的结果
for key, value in file_dict.items():
    print(f"{key}: {', '.join(value)}")

输出如下所示:

txt: file1.txt, file3.txt
py: file2.py, file4.py
方法二:使用collections.defaultdict
from collections import defaultdict

file_list = ['file1.txt', 'file2.py', 'file3.txt', 'file4.py']

file_dict = defaultdict(list)
for file in file_list:
    # 获取文件后缀名
    extension = file.split('.')[-1]
    file_dict[extension].append(file)

# 输出分组后的结果
for key, value in file_dict.items():
    print(f"{key}: {', '.join(value)}")

输出结果与方法一相同。

方法三:使用列表推导式
file_list = ['file1.txt', 'file2.py', 'file3.txt', 'file4.py']

file_dict = {extension: [file for file in file_list if file.endswith(extension)] for extension in set(file.split('.')[-1] for file in file_list)}

# 输出分组后的结果
for key, value in file_dict.items():
    print(f"{key}: {', '.join(value)}")

输出结果与方法一和二相同。


以上是按照文件后缀名分隔列表元素的几种常用方法。你可以根据自己的需求选择其中一种或多种方法来使用。这些方法可使你更方便地处理文件列表,提高代码的可读性和可维护性。