我有一个服务器,可以访问和获取多维数组格式的数据,因此最终结果是:
[
[
[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
有什么区别吗?如果有,哪种方法更有效、更快速?考虑到第二维度的大小是20,第三维度的大小是500
通过使用内置函数,以下代码应该更具可读性并具有良好的性能。你知道吗
为什么不使用简单的列表理解:
样本输出:
它比
map
方法快2倍多:相关问题 更多 >
编程相关推荐