Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 - Fatal编程技术网

Python:如何检查数组中的一组坐标是否存在于列表中的多个字典的列表中?

Python:如何检查数组中的一组坐标是否存在于列表中的多个字典的列表中?,python,Python,如果这听起来非常混乱,很抱歉,但基本上我有一个两列数组存储二维坐标列表: array([[ 0.31730234, 0.73662906], [ 0.54488759, 0.09462212], [ 0.07500703, 0.36148366], [ 0.33200281, 0.04550565], [ 0.3420866 , 0.9425797 ], [ 0.36115391, 0.16670599], [ 0.95586938, 0.525

如果这听起来非常混乱,很抱歉,但基本上我有一个两列数组存储二维坐标列表:

array([[ 0.31730234,  0.73662906],
   [ 0.54488759,  0.09462212],
   [ 0.07500703,  0.36148366],
   [ 0.33200281,  0.04550565],
   [ 0.3420866 ,  0.9425797 ],
   [ 0.36115391,  0.16670599],
   [ 0.95586938,  0.52599398],
   [ 0.13707665,  0.6574444 ],
   [ 0.77766138,  0.56875582],
   [ 0.79618595,  0.7139309 ]])
我有一个字典列表,在每个字典中,在一个叫做“坐标”的键下,有一个这些坐标的随机组合列表

如果给定了一组随机坐标,如何生成一个函数来检查这些坐标是否存在于任何字典中,然后返回字典的索引

显然,参数是字典列表(因为我实际上有多个字典列表)和数组中的坐标id。每次我尝试使用任何函数或枚举或查找时,都会出现语法错误,例如:

def whichcluster(list,coordinate_id):
.....:     for elem in list:
.....:         if any(x in elem['coordinates'] for coordinate_id):
.....:             return list.index(elem)
.....:         else:
.....:             return False

为什么不起作用?

你的理解写错了,应该是:

if any(x in elem['coordinates'] for x in coordinate_id):
    ...

list
是一个类型名,不要将其用作变量名。

如果您的理解写错了,它应该是:

if any(x in elem['coordinates'] for x in coordinate_id):
    ...

list
是一个类型名,不要将其用作变量名。

代码有四个问题

  • 您的生成器表达式馈送到任何对象都是错误的。它应该是
    any(对于坐标id中的x,元素中的x['coordinates'])
  • 你不知道;不需要使用list.index(elem)来获取索引,而是在循环时使用enumerate函数获取带有元素`for index,elem in enumerate(list)的索引:
  • 在循环中使用return
    return list.index(elem)
    会在第一次点击时过早返回。您可能会错过任何后续比赛。您需要创建一个生成器
  • 唐;t不要对变量名使用保留/内置名称,例如,不要使用
    列表
    ,而是使用更合适的名称,如
    协调列表

您的代码有四个问题

  • 您的生成器表达式馈送到任何对象都是错误的。它应该是
    any(对于坐标id中的x,元素中的x['coordinates'])
  • 你不知道;不需要使用list.index(elem)来获取索引,而是在循环时使用enumerate函数获取带有元素`for index,elem in enumerate(list)的索引:
  • 在循环中使用return
    return list.index(elem)
    会在第一次点击时过早返回。您可能会错过任何后续比赛。您需要创建一个生成器
  • 唐;t不要对变量名使用保留/内置名称,例如,不要使用
    列表
    ,而是使用更合适的名称,如
    协调列表

不要使用
list
作为变量名。请您进一步解释一下您的意图。这可能有助于找出最有效的解决方案。您只想返回第一个匹配集群的索引还是全部?不要使用
list
作为变量名。请您进一步解释一下您的意图。这可能有助于找出最有效的解决方案。您只希望返回第一个匹配群集的索引还是全部?