python - 编码中0和-0的区别
问题描述
我希望这不是太愚蠢,但 0 和 -0 是否相同,就像数学一样?当其中任何一个用作索引值时,Python 返回字符串的第一个字符。
解决方案
这个问题一点也不愚蠢:0 和 -0 在它们是数字的情况下是相同的,但是当它们是字符串时,它们显然是不同的(一个只有一个字符,另一个有两个字符)。
你提到两者都是索引值,它们是数字,所以它们是相等的,你可以在这里看到:
Prompt>python
>>> print(0)
0
>>> print(-0)
0
在这两种情况下,输出显然是相同的。
如果它们是字符串,则长度已经显示出明显的差异:
>>> print(len("-0"))
2
>>> print(len("0"))
1
对于对浮点数感兴趣的人来说,等式可以表示如下:
>>> print(0.0+0.0)
0.0
>>> print(-0.0+0.0)
0.0
推荐阅读
- azure-active-directory - Azure AD B2C - 不支持客户端凭据流。可用的解决方法?
- ios - 本地通知swift上缺少徽章和声音
- amazon-web-services - 操作“部署”中的 Terraform CodePipeline ActionType 不可用
- java - 出于验证目的需要有关 CSV 数据的临时数据存储的建议
- c++ - 创建静态哨兵节点的正确方法是什么
- jquery - “SQLSTATE [23000]:违反完整性约束:1062 重复条目
- javascript - RXJS Observables - 每个索引值和合并结果的 http 调用
- c++ - C++ 虚拟关键字和系统更新
- java - 如何将 int 存储在 String 中?
- go - 如何计算通过 gob.Encode 写入的每条记录的哈希值