This question already has answers here:
Python cannot handle numbers string starting with 0. Why?
(2个答案)
3年前关闭。
将数字转换为序列时,不能在数字开头使用零的原因是什么?
代码示例
给出
我想将前导数字为零的数字转换为序列。
如何将这样的数字转换为序列?
您可以这样做:
(2个答案)
3年前关闭。
将数字转换为序列时,不能在数字开头使用零的原因是什么?
代码示例
map(int,str(08978789787))
给出
Syntax error
。我想将前导数字为零的数字转换为序列。
如何将这样的数字转换为序列?
最佳答案
发生这种情况是因为前导零表示您正在写一个八进制数字,而八进制数字中不能包含9或8。看到:
>>> a = 0123
>>> a
83
>>> a = 010
>>> a
8
您可以这样做:
>>> map(int, '08978789787')
[0, 8, 9, 7, 8, 7, 8, 9, 7, 8, 7]