python中的二维列表(实例)_Python 获取二维数组中每列第二个最小值的方法及示例代码...

本文介绍了三种Python方法来找到二维列表中每一行的第二小值。第一种使用heapq库的nsmallest函数,第二种通过排序实现,第三种利用numpy的sort函数。这些技巧在处理大量数据时非常有用。
摘要由CSDN通过智能技术生成

示例数据代码:A = [[72 76 44 62 81 31]

[54 36 82 71 40 45]

[63 59 84 36 34 51]

[58 53 59 22 77 64]

[35 77 60 76 57 44]]

第n个最小值,n=2时,代码如下:A = [54 53 59 36 40 44]

1、使用heapq.nsmallest实现from heapq import nsmallest

[nsmallest(2, e)[-1] for e in zip(*A)]

输出:[54, 53, 50, 36, 40, 44]

2、使用sorted(i)实现[sorted(i)[1] for i in zip(*A)]

或者#旋转90度

rotated = zip(*A[::-1])

result = []

for arr in rotated:

# 排序每个一维数组从最小到最大

arr = sorted(list(arr))

# 将第二个最小值添加到结果数组

result.append(arr[1])

print(result)

zip(*A): 将转置列表,使列变为行。

3、使用numpy.sort()实现np.sort(A, axis=0)[1, :]

输出结果:array([54, 53, 59, 36, 40, 44])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值