Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 我有一个文件,其中包含一个由矩形的x和y坐标组成的表格:_Python_File - Fatal编程技术网

Python 我有一个文件,其中包含一个由矩形的x和y坐标组成的表格:

Python 我有一个文件,其中包含一个由矩形的x和y坐标组成的表格:,python,file,Python,File,如何获取另一个文件中最小矩形的坐标?您可以使用itertools.combines生成文件中两点所有组合的列表,筛选出具有相同x或y坐标的点,因为它们不构成矩形,然后使用键函数min,该键函数返回给定点对形成的矩形区域,以查找列表中点可以形成的最小矩形: 2 -5 -2 4 5 6 0 0 -4 12 14 6 3 -1 7 -9 8 15 -6 -3 2 5 1 6 -2 3 -4 0 7 1 3 -2 2 -2 1 3 0 8 根

如何获取另一个文件中最小矩形的坐标?

您可以使用
itertools.combines
生成文件中两点所有组合的列表,筛选出具有相同
x
y
坐标的点,因为它们不构成矩形,然后使用键函数
min
,该键函数返回给定点对形成的矩形区域,以查找列表中点可以形成的最小矩形:

2  -5
-2  4
5   6
0   0
-4  12
14   6
3   -1
7   -9
8   15
-6  -3
2   5
1   6
-2  3
-4  0
7   1
3  -2
2  -2
1   3
0   8
根据您的示例输入,这将输出:

from itertools import combinations
with open('points.txt') as f:
    print(min([((x1, y1), (x2, y2)) for (x1, y1), (x2, y2) in combinations([tuple(map(int, l.split())) for l in f], 2) if x1 != x2 and y1 != y2], key=lambda p: abs((p[1][0] - p[0][0]) * (p[1][1] - p[0][1]))))

这些看起来像一个数字列表,请解释我们如何解析这个列表中的坐标。欢迎来到StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。但是,如果您遵循联机找到的任何资源,进行诚实的编码尝试,并遇到问题,您将有一个很好的示例发布。@Rihana请根据您发布的示例输入共享预期的输出。其他文件是什么?那个文件和这个数字列表有什么关系?这些数字如何表示矩形的坐标?
((3, -1), (2, -2))