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(':')
答案 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