Python二维数组排序:根据指定列升序排列
Python二维数组排序:根据指定列升序排列
本文将介绍如何使用Python的sorted函数对二维数组进行排序,以指定列的值为依据。
示例:
假设我们有一个二维数组,表示用户数据,包含以下列信息:
- 序号
- 用户
- 微信用户名
- 手机号码
- 累计流量
- 今天流量
- 本时段流量
我们需要按照**第6列('今天流量')**升序排序第2至最后一个元素,可以使用Python的sorted函数进行排序。
代码实现:
data = [['序号', '用户', '微信用户名', '手机号码', '累计流量', '今天流量', '本时段流量'],
['1', 'AA', 'aaa', '1806', '20661', 3000, 0],
['2', 'BB', 'bbb', '29306', '19949', 4143, 0],
['3', 'CC', 'ccc', '348287', '9205', 535, 0],
['4', 'DD', 'ddd', '41350', '4801', 47, 0],
['5', 'EE', 'eee', '594787', '31743', 0, 0],
['6', 'FF', 'fff', '6648', '10022', 76, 0]]
# 定义自定义函数作为key参数
def sort_key(row):
return row[5:] # 返回从第6列到最后一列的元素
# 使用sorted函数进行排序
sorted_data = sorted(data[1:], key=sort_key)
# 将排序后的结果添加回二维数组的第1行
sorted_data.insert(0, data[0])
# 输出排序后的结果
for row in sorted_data:
print(row)
代码解释:
sort_key函数:定义了一个自定义函数sort_key,该函数接受一个行数据(row)作为参数,并返回从第6列到最后一列的元素,作为排序的依据。sorted函数:使用sorted函数对二维数组data的第2至最后一个元素进行排序,并指定sort_key函数作为key参数。sorted_data变量:保存了排序后的结果。insert方法:将排序后的结果添加到二维数组data的第1行,以保持原始标题信息。- 循环输出:最后使用循环输出排序后的结果。
运行结果:
['序号', '用户', '微信用户名', '手机号码', '累计流量', '今天流量', '本时段流量']
['5', 'EE', 'eee', '594787', '31743', 0, 0]
['4', 'DD', 'ddd', '41350', '4801', 47, 0]
['6', 'FF', 'fff', '6648', '10022', 76, 0]
['3', 'CC', 'ccc', '348287', '9205', 535, 0]
['2', 'BB', 'bbb', '29306', '19949', 4143, 0]
['1', 'AA', 'aaa', '1806', '20661', 3000, 0]
总结:
本文通过一个简单的示例,展示了如何使用Python的sorted函数对二维数组进行排序,并以指定列的值作为排序依据。sorted函数提供了灵活的排序方式,可以根据不同的需求进行调整。
原文地址: https://www.cveoy.top/t/topic/d82y 著作权归作者所有。请勿转载和采集!