一种既能处理散列键又能处理非散列键的dict

all-purpose-dict的Python项目详细描述


通用dict


目录


这是什么?

  • 不需要哈希键的dict

为什么要创造它?

  • 我经常需要在dict中存储不可散列的键。 内置dict不可能将dict作为密钥。

    # doesn't worksomeDict={"key":"value"}anotherDict={someDict:"anotherValue"}

简单用法

fromall_purpose_dictimportApDictsomeDict={"key":"value"}anotherDict=ApDict([(someDict,"anotherValue")])print(someDictinanotherDict)# prints True

另见


api

注意:这个api很年轻,可能会有很大的变化。也可能有 内置dict中存在apdict没有涉及的功能。我是 愿意添加,所以请提出一个github问题或公关与细节。

类apdict([对列表])

  • “pairs”可以是长度为2的列表或元组
  • 除非另有说明,否则所有方法都返回self
  • 按插入顺序迭代
  • 视图没有实现,因为我不需要它们。相反,我 暴露keysIteratorvaluesIterator。如果您需要查看,请提出 Github问题。
  • 实施的内部方法是
    • _包含
    • _熟食
    • _获取项目
    • _ ITER_uu
    • _长度
    • _设置项
清除()
删除(键)
  • 替代del aDict[key]
  • 的函数
获取(键,默认值=无)=>;值
  • 如果key在字典中,则获取key的值,否则为默认值。
  • 注意:这不会引发keyerror。
has(键)=>;bool
  • 替代key in aDict
  • 的函数
getkeysiterator()=>;apdictkeysiterator
设置(键,值)
  • 替代aDict[key] = val
  • 的函数
getvaluesiterator()=>;apdictvaluesiterator

测试

## you must have poetry installed#
$ poetry shell
$ poetry install
$ python runTests.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
数据库java操作符是如何工作的?   带有JSON迭代器的java类型安全警告   java@NotNull类型注释Solrj   JDBC无法将19y旧Java连接到新的SQL Server。它在旧服务器上运行良好   java两个线程获得相同的值   java阶乘方法工作不好!   java Android体系结构决策   java如何使用JSON中的@RequestBody绑定自定义对象的映射   java Android ActionBarSherlock定制topbar?   java自定义DozerConverter仅在SpringBoot测试中调用   java为什么Hibernate试图映射@Transient方法?   MongoDB Java自己的编解码器不工作   java无法从MySQL中的存储引擎读取自动增量值   java使用SwingFXUtils将BuffereImage(awt)转换为Image(JavaFx)   java Camel hdfs2到文件协议文件传输   java什么是GZIP JSFSeam web应用程序页面的最佳方法