Python - 拆分字符串并返回整数
x='2013:02:01'
y,m,d=x.split(':')
这个代码会生成 y、m、d 这三个值,都是字符串格式。但我想知道怎么只用一行代码把它们变成整数格式。
失败的尝试:
y,m,d=int(y.split(':'))
y,m,d=int(y),int(m),int(d)=y.split(':')
4 个回答
2
使用列表推导式可以解决这个问题:
>>> x='2013:02:01'
>>> y,m,d=[int(n) for n in x.split(':')]
>>> y
2013
>>> d
1
>>> m
2
3
可以使用列表推导式:
[ int(token) for token in y.split(':') ]
3
你可以使用列表推导式:
y,m,d = [int(n) for n in x.split(':')]
7
y, m, d = map(int, x.split(':'))
map
是一个用来对可迭代对象(比如列表)里的每一个元素都应用一个函数的工具。在这个例子中,它会把 split
返回的每一个值都用 int
函数处理一遍,最后给你一个结果。