【问题标题】:Python : Variable beginning by zeroPython:变量从零开始
【发布时间】:2017-12-13 10:21:13
【问题描述】:

当我想分配一个值以零开头的变量时,str 中的零会消失。 知道如何首先将数字变量分配为零。

例如

acc_id=018904837646

返回: SyntaxError: 无效令牌

编辑:更多细节

详细来说,id 由 csv 中的一行返回

acc_id = row['AccountId']

该行返回一个不为零的int(18904837646),这个int用于检索字典信息my_dict.get(acc_id).iteritems()

但是使用 int 我有错误 ('NoneType' object has no attribute 'iteritems') 所以我转换为 str 并且出现问题的地方为零,也许我必须寻找如何使用带有 int 的字典

谢谢

【问题讨论】:

  • 你为什么需要它?你可以有一个以0开头的号码
  • 只能通过 str 实现
  • 您需要字符串还是整数?你不能有从零开始的整数。这是无效的。你的意思是MyVar="018904837646"。你想达到什么目标?
  • 这是因为数字在Octal numerical system
  • @akashkarothiya 对于 python 3 中的八进制数,您必须使用例如0o123 而不是 0123。此外,这不能是八进制,因为它包含 7 以上的数字。

标签: python string variables int zero


【解决方案1】:

此异常告诉您,键 acc_id 的值为 None 或未定义(如果未找到键且未给出默认值,get(<key>) 返回 None)。 row['AccountId'] 不能返回整数 018904837646,因为这对于类型 int 无效。所以这里的返回值要么是一个字符串("018904837646"),要么是一个不带前导零的int(18904837646)。

如果您打印 dict,键的外观如何?是"018904837646" 还是"18904837646"?您必须将获得的 id 调整为 dict 中密钥的格式。

【讨论】:

  • 感谢您的回答!我已经用更多细节编辑了我的问题
猜你喜欢
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
  • 2019-11-19
  • 2010-12-05
相关资源
最近更新 更多