Python 在列表中选择字符串的最后一部分
打印列表时,我有一个具有以下输出的列表:Python 在列表中选择字符串的最后一部分,python,Python,打印列表时,我有一个具有以下输出的列表: ['/dbfs/mnt/abc/date=20210225/fsp_store_abcxyz_lmn_', '/dbfs/mnt/abc/date=20210225/fsp_store_schu_lev_bsd_s_'] 我们的要求是: fsp_store_abcxyz_lmn_ fsp_store_schu_lev_bsd_s_ 请您帮助了解如何从列表中获得要求。使用解决任务的示例。我必须重新实现Max()和LJust()函数,因为您有pyspar
['/dbfs/mnt/abc/date=20210225/fsp_store_abcxyz_lmn_', '/dbfs/mnt/abc/date=20210225/fsp_store_schu_lev_bsd_s_']
我们的要求是:
fsp_store_abcxyz_lmn_
fsp_store_schu_lev_bsd_s_
请您帮助了解如何从列表中获得要求。使用解决任务的示例。我必须重新实现Max()和LJust()函数,因为您有
pyspark
,它对内置Max()
和str.LJust()
有不同的实现
运行“我的代码”后,您可以在代码中进一步使用res2
或res3
res2
包含格式为[源代码,提取]
的所有行,res3
仅包含提取的值
输出:
Source Extracted
/dbfs/mnt/abc/date=20210225/fsp_store_abcxyz_lmn_ fsp_store_abcxyz_lmn_
/dbfs/mnt/abc/date=20210225/fsp_store_schu_lev_bsd_s_ fsp_store_schu_lev_bsd_s_
假设列表项是路径:
import os
paths = [
'/dbfs/mnt/abc/date=20210225/fsp_store_abcxyz_lmn_',
'/dbfs/mnt/abc/date=20210225/fsp_store_schu_lev_bsd_s_'
]
for path in paths:
print(os.path.basename(path))
出去
os.path.basename
:
这个函数非常好,因为您不必指定路径分隔符。[
\\
或/
][i.split('/')[-1]表示lst中的i]
?@MykolaZotko是的,它确实回答了我的问题,非常感谢你,你能帮助我吗?如果你也能在输出中获得源代码,如source Extract/dbfs/mnt/abc/date=20210225/fsp\u store\u abcxyz\u lmn\u fsp\u store\u schu\u lev\u bsd\u s\u提取的fsp_store_abcxyz_lmn_fsp_store_schu_lev_bsd_s_@MykolaZotko我们可以以表格格式在两个不同的列中获得源和提取的输出吗please@batman_special更新为以表格形式输出。@MykolaZotko您能建议在这样的要求下需要做什么吗更好地用于此:print(Path)(Path).name)
这个问题没有像最佳答案那样的概念。每个人都将使用他们更能适应的
。有些人会使用str.split
,有些是'os.path',有些是pathlib
,这取决于视角和选择。请允许我不同意。这不仅仅是品味的问题。使用字符串方法处理路径并不理想,可能会导致问题。在其核心,os.path
将路径视为简单的stringscan,我们还可以获得传递相应提取的源代码output@batman_special我不明白你的意思。你想让我用我的代码生成util函数吗?我的意思是在输出中我们也得到了源代码,如like@batman_special我修改了答案以显示源代码和提取的版本。这是你们想要的吗?是的@Arty就是那个作品,它能以表格格式保存吗?比如源列和提取列
import os
paths = [
'/dbfs/mnt/abc/date=20210225/fsp_store_abcxyz_lmn_',
'/dbfs/mnt/abc/date=20210225/fsp_store_schu_lev_bsd_s_'
]
for path in paths:
print(os.path.basename(path))
fsp_store_abcxyz_lmn_
fsp_store_schu_lev_bsd_s_