解释并实现冒泡排序算法，使其能够对给定的数字列表进行排序。


数字列表: [5, 3, 8, 6, 7, 2]
冒泡排序是一种简单的算法，它通过多次交换相邻的元素将较大的元素逐步向列表的一端移动。

以下是对给定数字列表进行冒泡排序的步骤：

1. 从列表的开头开始，对一对相邻的元素进行比较。

2. 如果第一个元素大于第二个元素，则交换它们的位置。

3. 移动到下一对相邻元素，并重复步骤2，直到到达列表的末尾。

4. 重复步骤1-3，直到没有元素需要交换为止。

实现冒泡排序算法的Python代码如下所示：

```python
numbers = [5, 3, 8, 6, 7, 2]

for i in range(len(numbers)):
    # 进行 len(numbers) - i - 1 次比较
    for j in range(len(numbers) - i - 1):
        # 如果第 j 个元素比第 j + 1 个元素大，则交换它们的位置
        if numbers[j] > numbers[j + 1]:
            numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]

print(numbers)
```

输出为: 
```
[2, 3, 5, 6, 7, 8]
```