python计算两个坐标的曼哈顿距离
时间: 2023-07-17 22:11:25 浏览: 380
计算两个坐标的曼哈顿距离(也称为城市街区距离)可以通过以下公式实现:
```python
def manhattan_distance(x1, y1, x2, y2):
return abs(x1 - x2) + abs(y1 - y2)
```
这个函数接受四个参数,分别是第一个点的x坐标(x1),第一个点的y坐标(y1),第二个点的x坐标(x2),以及第二个点的y坐标(y2)。函数返回计算得到的曼哈顿距离。
例如,计算坐标(1, 2)和(4, 6)之间的曼哈顿距离:
```python
distance = manhattan_distance(1, 2, 4, 6)
print(distance)
```
这将输出7,表示两个坐标之间的曼哈顿距离为7。你可以根据自己的需求调用manhattan_distance函数进行计算。
相关问题
python计算两个列表表示的点的曼哈顿距离
在Python中,计算两个列表(通常代表二维坐标)之间的曼哈顿距离(也称为城市街区距离),可以简单地将每个维度上两个数的差绝对值相加。例如,如果你有两个列表`list1 = [x1, y1]`和`list2 = [x2, y2]`,它们分别表示两点(x1, y1)和(x2, y2),那么曼哈顿距离就是`abs(x1 - x2) + abs(y1 - y2)`。
这里有一个函数示例:
```python
def manhattan_distance(list1, list2):
# 确保两个列表长度相同,对应元素分别是x和y坐标
assert len(list1) == len(list2), "Lists must have the same length"
# 计算每个维度上两个数的绝对差值,然后求和
distance = sum(abs(a - b) for a, b in zip(list1, list2))
return distance
# 测试
point1 = [1, 2]
point2 = [4, 6]
distance = manhattan_distance(point1, point2)
print(f"曼哈顿距离: {distance}")
```
python计算曼哈顿距离
在Python中,曼哈顿距离也称为城市街区距离,它是两点在网格状坐标系中水平和垂直方向上距离之和的绝对值。如果你有两个点,比如`(x1, y1)`和`(x2, y2)`,计算它们之间的曼哈顿距离可以使用下面的公式:
```python
def manhattan_distance(point1, point2):
x1, y1 = point1
x2, y2 = point2
return abs(x1 - x2) + abs(y1 - y2)
```
或者更简洁地,你可以直接使用内置函数`sum()`:
```python
def manhattan_distance(point1, point2):
return sum(abs(coord1 - coord2) for coord1, coord2 in zip(point1, point2))
```
例如,如果你想计算点(3,4)和点(9,7)之间的曼哈顿距离,可以这样调用:
```python
distance = manhattan_distance((3, 4), (9, 7))
print(distance) # 输出:10
```
阅读全文