【发布时间】:2019-11-13 11:45:48
【问题描述】:
我有一个服务器以多维数组的格式访问和获取数据,所以最终结果是:
[
[
[n1t1:1, n1s1:2, n1o1:5],
[n1t2:3, n1s2:8, n1o2:9]
],
[
[n2t1:9, n2s1:3, n2o1:2],
[n2t2:5, n2s2:1, n2o2:7]
],
[
[n3t1:4, n3s1:9, n3o1:2],
[n3t2:7, n3s2:1, n3o2:5]
]
]
我需要遍历该数组,仅访问 s1 值并将它们存储到一个新数组中,该数组将作为结果返回。
选项 1:
result = []
parent_enum = 0
while len(array) > parent_enum:
child_enum = 0
result.append([])
while len(child_enum) > array_num:
result[parent_enum].append(array[parent_enum][child_enum][1])
child_enum += 1
parent_enum += 1
选项 2:
result = [[] for i in range(len(array))]
parent_enum = 0
while len(array[0]) > parent_enum:
child_enum = 0
while len(array) > child_enum:
result[child_enum].append(array[child_enum][parent_enum][1])
child_enum += 1
parent_enum += 1
有区别吗?如果有,哪种方式更高效、更快捷?考虑到第 2 维最大为 20,第 3 维最大为 500
【问题讨论】:
标签: python arrays performance loops