What is the easiest way to convert list with str into list with int?

后端 未结 5 523
悲&欢浪女
悲&欢浪女 2020-12-10 02:29

What is the easiest way to convert list with str into list with int in Python? For example, we have to convert [\'1\', \'2\', \'3\']

相关标签:
5条回答
  • 2020-12-10 02:55
    [int(i) for i in str_list]
    
    0 讨论(0)
  • 2020-12-10 03:02

    Python 2.x:

    map(int, ["1", "2", "3"])
    

    Python 3.x (in 3.x, map returns an iterator, not a list as in 2.x):

    list(map(int, ["1", "2", "3"]))
    

    map documentation: 2.6, 3.1

    0 讨论(0)
  • 2020-12-10 03:11

    If It is array and has installed numpy. We can used below code as well.

    import numpy as np
    
    np.array(['1', '2', '3'],dtype=int)
    
    0 讨论(0)
  • 2020-12-10 03:16

    If your strings are not only numbers (ie. u''), you can use :

    new = [int(i) for i in ["1", "2", "3"] if isinstance(i, int) or isinstance(i, (str, unicode)) and i.isnumeric()]
    
    0 讨论(0)
  • 2020-12-10 03:17

    You could also use list comprehensions:

    new = [int(i) for i in old]
    

    Or the map() builtin function:

    new = map(int, old)
    

    Or the itertools.imap() function, which will provide a speedup in some cases but in this case just spits out an iterator, which you will need to convert to a list (so it'll probably take the same amount of time):

    import itertools as it
    new = list(it.imap(int, old))
    
    0 讨论(0)
提交回复
热议问题