Convert a list of strings to either int or float

后端 未结 6 704
感情败类
感情败类 2020-12-21 00:14

I have a list which looks something like this:

[\'1\', \'2\', \'3.4\', \'5.6\', \'7.8\']

How do I change the first two to int

6条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-21 00:36

    Use isdigit method of string:

    numbers = [int(s) if s.isdigit() else float(s) for s in numbers]
    

    or with map:

    numbers = map(lambda x: int(x) if x.isdigit() else float(x), numbers)
    

提交回复
热议问题