开发者

python list conversion

hi

how to convert a = ['1', '2', '3', '4']

into a = [1, 2, 3, 开发者_开发知识库4] in one line in python ?


With a list comprehension.

a[:] = [int(x) for x in a]


You can use map():

a = map(int, a)

This is an alternative to the (more common) list comprehension, that can be more succinct in some cases.


With a generator:

a[:] = (int(x) for x in a)

... list comprehensions are so ummmmm, 2.1, don't you know?

but please be wary of replacing the contents in situ; compare this:

>>> a = b = ['1', '2', '3', '4']
>>> a[:] = [int(x) for x in a]
>>> a
[1, 2, 3, 4]
>>> b
[1, 2, 3, 4]

with this:

>>> a = b = ['1', '2', '3', '4']
>>> a = [int(x) for x in a]
>>> a
[1, 2, 3, 4]
>>> b
['1', '2', '3', '4']


l = []
a = ['1', '2', '3', '4']
l = [(int(x)) for x in a]
print l
[1, 2, 3, 4]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜