【问题标题】:string to int conversion of list in python [duplicate]python中列表的字符串到int转换[重复]
【发布时间】:2020-12-24 13:02:08
【问题描述】:

我想在python3.x中将字符串列表转换成int列表

b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
c= [int(i) for i in b]
print(c)

但我得到了错误

ValueError: invalid literal for int() with base 10: '1.22'

什么是语法错误或可能的其他解决方案?

【问题讨论】:

    标签: python string list integer


    【解决方案1】:

    1.22 不是整数。请改用decimal.Decimal('1.23')float('1.23')

    【讨论】:

      【解决方案2】:

      尝试先转换为浮点数,然后将这些浮点数转换为整数:

      b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
      c = [int(float(i)) for i in b]
      print(c)
      

      打印出来:

      [1, 1, 1, 2, 3, 5]
      

      【讨论】:

        【解决方案3】:

        这些是floats 而不是ints,这就是您收到错误的原因,您可以这样修改您的代码:

        b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
        c = [float(i) for i in b]
        print(c)
        

        【讨论】:

          猜你喜欢
          • 2013-06-23
          • 2014-06-16
          • 2022-01-03
          • 2019-10-23
          • 2021-12-25
          • 2017-03-21
          • 2021-06-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多