【问题标题】:str.split()[] - How it works? [duplicate]str.split()[] - 它是如何工作的? [复制]
【发布时间】:2019-10-02 15:30:14
【问题描述】:

我想提取文件名的下一部分(从“-”开始),即 000.xyz。 [文件名为Axx-000.xyz]

所以我的朋友向我展示了这段代码,但我无法完全理解代码。

def get_rank(xyz):                       
    pref = xyz.split('-')[1]             
    pref = pref.replace('.xyz', '')     
    return pref

我希望代码会显示结果,因为 Axx-000.xyz 应该是 000 或 000.xyz

非常感谢。

【问题讨论】:

  • 你总是可以在 python REPL 中运行它,看看你得到了什么输出!

标签: python-3.x automation


【解决方案1】:

所以,这里逐行解释这个函数。

pref = xyz.split('-')[1]:这一行可以分为以下两行:

  1. split_string = xyz.split('-')
  2. pref = split_string[1]

第一行的意思是“查看字符串并在找到字符'-'的地方将其剪切。例如,对于字符串“Axx-000.xyz”,该字符被找到一次,splitted_string 将是一个列表2 个字符串:["Axx","000.xyz"]

第二行的意思是“把split_string列表的第二个元素放在pref中。

然后pref = pref.replace('.xyz', '') 行调用replace 方法,意思是:“查看字符串,无论在哪里找到字符串'.xyz',将其替换为''(所以什么都没有)。

所以函数返回的值包含表的第二个元素["Axx","000.xyz"],没有'.xyz',所以简单的000

【讨论】:

  • 谢谢!您的解释非常全面和明确!我很感激!
【解决方案2】:

您使用def定义python函数,括号内有您在调用它时定义的函数参数(例如get_rank("Axx-000.xyz"))。

pref = xyz.split('-')[1] 在这里你用- 分割 xyz 字符串并将分割的元素分配到数组中。 pref 变量获取该数组的索引 [1] 的值(第二个值)。

pref = pref.replace('.xyz', '') 在这里,您只需将 '.xyz' 短语替换为空 '',换句话说,您从字符串中删除 .xyz

在最后一行你得到最终结果 - 000 字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-25
    • 2019-01-16
    • 2018-11-07
    • 2011-03-02
    • 2014-07-14
    • 2019-01-05
    • 1970-01-01
    • 2016-02-20
    相关资源
    最近更新 更多