Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有提供字典、列表等搜索工具的软件包_Python_Python 3.x_Package - Fatal编程技术网

Python 是否有提供字典、列表等搜索工具的软件包

Python 是否有提供字典、列表等搜索工具的软件包,python,python-3.x,package,Python,Python 3.x,Package,例如,一个函数,当提供一个字典和一个值时,它将返回首先包含该值的键。或者可能是一个函数,它可以返回包含某个值的所有键,等等。是否有一个专门的包来处理类似的事情?这不需要任何外部包来获取键,使用下面的定义来获取给定值的所有键 def getKeys(dictionary, value): keys = [] for key in dictionary.keys(): if dictionary[key] is value: keys.appe

例如,一个函数,当提供一个字典和一个值时,它将返回首先包含该值的键。或者可能是一个函数,它可以返回包含某个值的所有键,等等。是否有一个专门的包来处理类似的事情?

这不需要任何外部包来获取键,使用下面的定义来获取给定值的所有键

def getKeys(dictionary, value):
    keys = []
    for key in dictionary.keys():
        if dictionary[key] is value:
            keys.append(key)
    return keys

a = {"One": 1, "Two": 2, "Three": 3, "Four": 3}
print getKeys(a, 3)
(或)简单地


这将返回所有具有相同值的键

您要做的两件事可以通过使用列表理解来实现。但字典里没有顺序。所以你不能只得到第一个元素

d={“一”:1,“二”:2,“三”:3,“四”:3}
ks=[v代表k,v代表d.items(),如果v>1]
我想很多人都有很多非常方便的方法,但人们可能不知道。所以我首先建议你仔细阅读

另外,根据我的经验,有两个模块值得学习和使用。以下是文档中的信息

:

该模块实现了许多迭代器构建块 通过来自APL、Haskell和SML的构造。每一个都在一个 适合Python的表单

该模块标准化了一套快速、高效内存的核心工具 单独使用或组合使用的。它们一起形成 一种“迭代器代数”,使构造专门的 纯Python中的工具简洁高效

下面是文档的截图,显示了其中的一小部分。

:

此模块实现专门的容器数据类型,提供 Python的通用内置容器dict的替代品, 列表、集合和元组


我认为您不需要一个软件包/库来完成这项工作。我的意思是,实现您的要求几乎不需要几行代码。不过,它们只是示例,我只是想知道是否有一个包包含各种各样的工具,用于索引、组织、结构化词典,以及可能的其他数据结构。如果有,那么这就意味着它是专业编写和优化的,可以方便地为任何需要它的人使用,而不需要为自己创建一个不太干净的版本。Python的本机模块已经有了各种各样的工具,用于索引、组织,以及构造字典和其他数据结构。仅仅因为它是第三方库并不意味着它是专业编写的,并且仅仅因为它是内置/本机库并不意味着它尚未优化和/或不易于使用。你必须更具体地说明你需要什么样的数据结构和操作。你提到的两个模块看起来非常感兴趣,我一定会很快对它们进行彻底的阅读!非常感谢。
def getKeys(dictionary, value):
    return [key for key in dictionary.keys() if dictionary[key] is value]