【问题标题】:Convert some elements to int [duplicate]将一些元素转换为int [重复]
【发布时间】:2021-10-15 16:08:37
【问题描述】:

在 python 中,我想将列表的一些字符串元素转换为 int。

所以我有:

my_list = [“汽车”、“10”、“20”、“50”、“60”、“13”、“自行车”]

制作方法:

my_list = ["汽车", 10, 20, 50, 60, 13, "自行车"]

【问题讨论】:

    标签: python list integer


    【解决方案1】:

    一个简单的comprehension 就可以了:

    my_list = [int(x) if x.isdigit() else x for x in my_list]
    

    这使用conditional expression 并使用str.isdigit 进行测试。

    str.isdigit 检查确实假定所有数字都是非负整数。对于像"-5""1.7" 这样的更复杂的数字字符串,您可能需要更详细地使用循环,并且可能使用更广泛的类型(float)来配合@Sujay 的解决方案。

    【讨论】:

      【解决方案2】:
      for i, j in enumerate (my_list):
          try:
               my_list[i]=int(j)
          except ValueError:
                pass
      

      【讨论】:

        猜你喜欢
        • 2015-08-03
        • 2016-04-28
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        • 2012-05-03
        • 2012-08-22
        • 2016-08-24
        相关资源
        最近更新 更多