首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dict/Set解析顺序一致性

Dict/Set解析顺序一致性
EN

Stack Overflow用户
提问于 2016-01-06 08:44:06
回答 1查看 325关注 0票数 18

接受可哈希对象(如dict键或set项)的容器。因此,一个字典只能有一个值为11.0True等的键(注意:允许稍微简化的散列冲突,但这些值被认为是相等的)

我的问题是:解析顺序是否定义良好,生成的对象是否可跨实现进行预测?例如,OSX Python 2.7.11和3.5.1对dict的解释如下:

代码语言:javascript
运行
复制
>>> { True: 'a', 1: 'b', 1.0: 'c', (1+0j): 'd' }
{True: 'd'}

在这种情况下,似乎保留了第一个键和最后一个值。

类似的,在set的情况下

代码语言:javascript
运行
复制
>>> { True, 1, 1.0, (1+0j) }
set([(1+0j)])

这里看起来最后一项被保留了下来。

但是(正如评论中提到的):

代码语言:javascript
运行
复制
>>> set([True, 1, 1.0])
set([True])

现在,iterable中的第一个被保留下来了。

文档指出,项的顺序(例如在dict.items中)是未定义的,但是我的问题指的是构造dictset对象的结果。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34623846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档