【问题标题】:Slicing a string in python and converting it to an integer在python中切片字符串并将其转换为整数
【发布时间】:2019-01-30 13:01:35
【问题描述】:

我一直在尝试对注册号进行排序。注册号的格式为 18[a-z][a-z][a-z][0-9][0-9][0-9][0-9]

所以我试过这个功能

def cutt(n):
    n=int(n[5:9])

有什么需要退货的吗?使用函数后显示它没有数据类型

谢谢

【问题讨论】:

  • 是字符串吗?
  • 如果你没有return,python 会返回None
  • 是的,它是一个字符串
  • 我看不出这应该如何返回排序的东西。

标签: python string split


【解决方案1】:

你应该这样做:

def cutt(n):
    return int(n[5:9])

在你的代码中:

old_n = '18abc1234'
new_n = cutt(old_n)

您的new_n 将是1234

【讨论】:

  • 如果我尝试将它与列表元素一起使用,那么它会给我 int 对象不可下标
  • 它表示您的列表项是整数。你应该传递字符串。
【解决方案2】:

使用代码

def cutt(n):
    n=int(n[5:9])
    return n

检查

val=cutt("18xyz3456")
print(val)

输出

3456

希望对你有帮助

【讨论】:

  • 将它与列表元素一起使用会使 int 不可下标
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 2021-12-04
  • 2021-03-02
  • 2010-12-27
  • 2010-10-31
  • 1970-01-01
  • 2019-03-13
相关资源
最近更新 更多