【问题标题】:Split a Response in Python在 Python 中拆分响应
【发布时间】:2019-03-06 14:20:52
【问题描述】:

我正在尝试从前端获取信用卡凭证,我在 ajax 20/2020 中收到“到期日期”响应,我正在尝试使用 python split() 函数对其进行拆分。

x = 20/2020

我希望结果为 20 和 2020,但它以不同的方式出现,如下所述,那么我怎样才能得到两个整数?

x.split() = ['20/2020']
x.split("/") = ["20","2020"]

现在我在输出中得到两个或一个字符串。

【问题讨论】:

  • 以上是字符串吗?
  • 此外,这是一个“时间戳”吗?如果是,请不要自己解析!

标签: python


【解决方案1】:

你可以试试这个吗:

a,b = x.split('/')

这只有在拆分后有 2 个元素时才有效。

【讨论】:

    【解决方案2】:

    只需映射到这样的整数

    x = '20/2020'
    list(map(int,x.split('/'))) #[20, 2020]
    

    另外,你可以参考我之前对类似问题的回答here

    【讨论】:

      【解决方案3】:

      你可以使用map进入int

      >> list(map(int, x.split("/")))
      >> [20, 2020]
      

      如果你想要浮点数,你可以将 int 更改为浮点数

      【讨论】:

        【解决方案4】:

        你说:

        x.split() -> ['20/2020']
        x.split("/") -> ["20","2020"]

        这两个都符合预期。

        str.split() 返回一个列表(在许多语言中类似于数组)。

        不带参数的str.split() 将在任何空白处拆分,'20/2020' 中没有。

        str.split('/') 在“/”上正确拆分,为您提供一个包含 2 个元素而不是一个元素的列表。

        如果您知道您的输入将只包含一个“/”,那么您可以通过几种方式获得所需的 2 个整数。这是一对:

        x = '20/2020'
        x = x.split('/')
        month = x[0]
        year = x[1]
        

        或者:

        x = '20/2020'
        month, year = x.split('/')
        

        要了解为什么第二个有效,您可以在此处查看答案:Assign multiple values of a list

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-09
          • 1970-01-01
          相关资源
          最近更新 更多