Python语法

1. 切片

  1. 常规切片:注意当步长为负数,倒序
1
2
3
4
a[start:stop:step]
>>>a=list(range(5))
>>>a[::-1]
[4,3,2,1,0]
  1. 类似切片的维度索引(语法糖)
1
2
3
4
5
6
>>>h=np.array([[1,2,3].[4.5.6]])
>>>h[0][2]
3
>>>h[0,2]
3

所以以下相同,第二维和第三维的全部元素都取:

1
2
h[0,:,:]
h[0][:][:]

表示行全取,只取第十列:

1
h[:,9]

2. extend 和 append 区别

1. append:

  • 在列表末尾添加一个元素
  • 保持元素的原始形式
    1
    2
    3
    list1 = [1, 2]
    list1.append([3, 4])
    print(list1) # [1, 2, [3, 4]]

2. extend:

  • 将可迭代对象的所有元素添加到列表末尾
  • 展开元素
    1
    2
    3
    list2 = [1, 2]
    list2.extend([3, 4])
    print(list2) # [1, 2, 3, 4]

示例对比:

1
2
3
4
5
6
7
8
9
# append
points1 = []
points1.append([10, 20])
# 结果: [[10, 20]]

# extend
points2 = []
points2.extend([10, 20])
# 结果: [10, 20]

在matches.json的场景中,我们需要使用extend,因为要把坐标值作为独立元素添加到列表中。