使用int将带有str的列表转换为列表的最简单方法是什么?

use*_*070 13 python string integer

在Python中将str列表转换为列表的最简单方法是什么int?例如,我们必须转换['1', '2', '3'][1, 2, 3].当然,我们可以使用for循环,但它太容易了.

cod*_*ape 19

Python 2.x:

map(int, ["1", "2", "3"])
Run Code Online (Sandbox Code Playgroud)

Python 3.x(在3.x中,map返回迭代器,而不是2.x中的列表):

list(map(int, ["1", "2", "3"]))
Run Code Online (Sandbox Code Playgroud)

map资料:2.6,3.1


Chr*_*utz 5

您还可以使用列表推导式:

new = [int(i) for i in old]
Run Code Online (Sandbox Code Playgroud)

或者map()内置函数:

new = map(int, old)
Run Code Online (Sandbox Code Playgroud)

或者itertools.imap()函数,它在某些情况下会提供加速,但在这种情况下只是吐出一个迭代器,你需要将它转换为一个列表(所以它可能需要相同的时间):

import itertools as it
new = list(it.imap(int, old))
Run Code Online (Sandbox Code Playgroud)