如何在一个列表中的多个项目中找到所需的元素?

How to find required elements among multiple items in one list?

我有一个包含多个文件名的列表:

example_list = ['2021-08-09_01.csv', '2021-08-09_02.csv', '2021-08-10_12.csv',
                '2021-08-10_03.csv']

我想要 return 一个新列表,其中包含 example_list:

中的日期
new_list = ['09','10']

不管日期字符串后的数字是多少,最简单的方法是什么?

您可以使用 str.split 获取日期字符串,然后使用 set() 删除重复项:

new_list = list(set(s.split("-")[-1].split("_")[0] for s in example_list))
print(new_list)

打印:

['10', '09']

您可以使用集合理解,从字符串元素中切出所需的部分,然后(如果确实需要)将创建的集合转换为 名单:

example_list = ['2021-08-09_01.csv', '2021-08-09_02.csv', '2021-08-10_12.csv', '2021-08-10_03.csv']

new_list = list({elem[8:10] for elem in example_list})

print(new_list)

Output:

['09', '10']

你可以这样试试。

在第一项 _ 和 select 处拆分子字符串 (i[8:])。使用 set 删除重复项。

example_list = ['2021-08-09_01.csv', '2021-08-09_02.csv', '2021-08-10_12.csv', '2021-08-10_03.csv']

s = {i[8:].split('_')[0] for i in example_list}
print(list(s))
['09', '10']