Python - 拆分字符串并返回int

时间:2014-03-06 09:33:01

标签: python string python-3.x split int

x='2013:02:01'

y,m,d=x.split(':')

以字符串形式生成y,m,d。但是我如何仅使用1行生成它们作为整数

失败:

y,m,d=int(y.split(':'))


y,m,d=int(y),int(m),int(d)=y.split(':')

4 个答案:

答案 0 :(得分:7)

y, m, d = map(int, x.split(':'))

map将函数应用于iterable中的每个元素。在这种情况下,它会将int应用于split返回的每个值,并为您提供结果。

答案 1 :(得分:3)

使用列表理解:

[ int(token) for token in y.split(':') ]

答案 2 :(得分:3)

您可以使用列表推导:

y,m,d = [int(n) for n in x.split(':')]

答案 3 :(得分:2)

使用list comprehension可以解决问题:

>>> x='2013:02:01'
>>> y,m,d=[int(n) for n in x.split(':')]
>>> y
2013
>>> d
1
>>> m
2