gpt4 book ai didi

python - 编辑列表以删除定义的变量以及字符之后(包括字符)的所有内容

转载 作者:行者123 更新时间:2023-12-01 04:18:41 27 4
gpt4 key购买 nike

我进行了以下设置:

variable = /XXX/XXX/XXX/
list = [/XXX/XXX/XXX/INFO_RANDOM_STRING_HERE.file, etc...]

我想复制列表,但修剪起始变量以及“INFO”段以外的所有内容(即 _RANDOM 之后并包括 _RANDOM 之前的所有内容)。每次的信息都不同,RANDOM_STRING_HERE 也是如此,但变量是恒定的。

我怎样才能实现这个目标?

为了澄清,我有:

variable = /users/me/folder/
list = [/users/me/folder/file1_001_134543_X5_6MGFS.txt, /users/me/folder/file2_231_234233_Y5_6MGFFAS.txt, etc...]

我想要完整列表和新列表:

newlist = [file1, file2, etc...]

最佳答案

您可以在列表理解中使用split():

[x.split(variable)[1].split('_')[0] for x in the_list]

查看完整代码:

variable = "/users/me/folder/"
the_list = ["/users/me/folder/file1_001_134543_X5_6MGFS.txt", "/users/me/folder/file2_231_234233_Y5_6MGFFAS.txt"]

print [x.split(variable)[1].split('_')[0] for x in the_list]

输出:

['file1', 'file2']
<小时/>

我准备了另一个示例(带注释),以防您不想使用列表推导式,而是使用简单的for循环:

variable = "/users/me/folder/"
the_list = ["/users/me/folder/file1_001_134543_X5_6MGFS.txt", "/users/me/folder/file2_231_234233_Y5_6MGFFAS.txt"]

results_list = list()

for full_path in the_list:
_, file_name = full_path.split(variable) # This splits "/users/me/folder/file1_001_134543_X5_6MGFS.txt" into "/users/me/folder/" and "file1_001_134543_X5_6MGFS.txt" so we take the last one as 'file_name'
file_name = file_name.split('_')[0] # This splits e.g. "file1_001_134543_X5_6MGFS.txt" in ["file1", "001", "134543", "X5", "6MGFS.txt"] so we take only the first one, which is in index 0
results_list.append(file_name) # Adding e.g. "file1" to our 'results_list'

print results_list

关于python - 编辑列表以删除定义的变量以及字符之后(包括字符)的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com