一种既能处理散列键又能处理非散列键的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第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息