如何在一个列表中的多个项目中找到所需的元素?
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']
我有一个包含多个文件名的列表:
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']