Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表中选择字符串的最后一部分_Python - Fatal编程技术网

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_