python字典中的键是什么_在python字典中作为键的对象
我试图在python字典中使用一个对象作为键,但是它的行为方式让我无法完全理解。
首先,我创建一个以对象为键的字典:package_disseminators = {
ContentType("application", "zip", "http://other/property") : "one",
ContentType("application", "zip") : "two"
}
现在创建另一个对象,该对象与一个键“相同”。content_type = ContentType("application", "zip", "http://other/property")
我已经给了ContentType对象custom__eq__和custom__str__方法,以便__eq__方法比较__str__值。
现在,一些交互式python:>>> for key in package_disseminators:
... if key == content_type:
... print "match"
... else:
... print "no match"
...
no match
match
>>> content_type in package_disseminators.keys()
True
好吧,看来我的对象被正确地识别为一个密钥,所以:>>> package_disseminators[content_type]
Traceback (most recent call last):
File "", line 1, in
KeyError: (& (type="application/zip") (packaging="http://other/property") )
呃。。。好 啊?所以content_type在package_displaminators.keys()列表中,但它不是一个键吗?>>> package_disseminators.has_key(content_type)
False
显然不是。
我假设Python用于确定相等性的比较过程在列表上的直接“in”语句和实际在dict中查找键之间是不同的,但我不知道如何实现。有什么建议或见解吗?
python字典中的键是什么_在python字典中作为键的对象相关推荐
- python 定义字典键为变量_在python字典中使用变量作为键名
我今天来是因为我有同样的问题.我必须说,我对这些答案很失望!我同意你的观点,这种冗余应该有一个惯用的解决方案.在这种情况下,JavaScript似乎比Python更明智.所以我想增加两个建议. 首先, ...
- python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?
在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面. 但是从Python 3.6开始,字典是变成 ...
- list python 访问 键值对_基础|Python常用知识点汇总(中)
字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...
- python如何输入多行数据合并_关于Python中的合并字典,这些问题必须搞清楚!
全文共1474字,预计学习时长6分钟 图源:unsplash Python 3.9现在处于初始开发阶段,但其中让人惊喜的新功能可不少.其中一个是颠覆性的,它能使处理Python字典时编写的代码更具可读 ...
- python中numpy数组的合并_基于Python中numpy数组的合并实例讲解
基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...
- python中使用函数编程的意义_总结Python编程中函数的使用要点
为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函数对象并将其赋值给一个变量 ...
- python 找出列表中出现最多的元素_利用Python找出序列中出现最多的元素示例代码...
前言 Python包含6种内置的序列:列表.元组.字符串 .Unicode字符串.buffer对象.xrange对象.在序列中的每个元素都有自己的编号.列表与元组的区别在于,列表是可以修改,而组元不可 ...
- python中raw是什么意思_对于Python中RawString的理解
对于Python中RawString的理解 发布于 2016-01-11 06:56:27 | 100 次阅读 | 评论: 0 | 来源: PHPERZ Python编程语言Python 是一种面向对 ...
- python字典里可以放列表吗_学习python之列表及字典
本关学习的是两种新的数据类型:列表.字典. 在开始之前先学习一下计算机与数据直接的关系. 计算机有3种方式利用数据: 1.直接使用数据 print('我来了') 2.计算和加工数据 print (1+ ...
- python中none算变量吗_在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...
最新文章
- php使用curl可以get 模拟post
- HDU 5785 interesting
- 学习性代码和使用不存在的代码
- Essential fact about future of PhD studies
- java jlable添加gif,Java动画GIF而不使用JLabel
- python array操作,Python中数组的基本操作
- 1022: [SHOI2008]小约翰的游戏John【Nim博弈,新生必做的水题】
- BZOJ.4553.[HEOI2016TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
- (46)FPGA同步复位与异步复位(异步复位)
- Java 商户管理系统 客户管理 库存管理 销售报表 SSM项目源码
- Oracle exp/imp导出导入命令及数据库备份
- 接口自动化测试框架搭建(8、发送邮件方法的封装+HTMLTestRunnerCN)--python+HTMLTestRunnerCN+request+unittest+mock+db
- reactbootstrap php,什么是React-Bootstrap
- 考勤管理系统需求文档
- OAuth2 vs JWT,到底怎么选?
- imx6 linux内核定义debug口,IMX6Q 调试串口修改
- C语言之字符串(草稿)
- Aptana工具介绍
- MySQL 支持表情字符
- 基于HTML5的机器猫在线商城设计与实现
热门文章
- 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字
- Cocos2d-x游戏开发之lua编辑器 Sublime 搭建,集成cocos2dLuaApi和自有类
- 基于Redis实现的抢购代码示例
- Shell expr的用法 bc 命令 let命令
- 关于Java的Object.clone()方法与对象的深浅拷贝,java面试题,java初级笔试题
- Angular5.0之 安装指定版本Angular CLI
- (转)Spring boot(一):入门篇
- 《Scikit-Learn与TensorFlow机器学习实用指南》第7章 集成学习和随机森林
- 笨办法学 Python · 续 练习 17:字典
- SpringBoot2.1.5(33)---SpringBoot整合 Thymeleaf 模板引擎