python二元数组排序函数

下面是关于Python二维数组排序函数的攻略:

一、Python中的二维数组

Python中的二维数组实际上是由一个元素为列表的列表所构成,这个列表的元素个数可以不同,如下所示:

arr = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]

上面这个二维数组可以看做有三行,第一行元素为[1, 2, 3],第二行元素为[4, 5],第三行元素为[6, 7, 8, 9]。

二、Python二维数组排序函数sorted()

Python内置的sorted()函数可以对二维数组进行排序,sorted()函数的第一个参数是需要排序的二维数组,第二个参数是排序的关键字(可选参数),表示按照哪个关键字进行排序。可以通过sorted()函数对二维数组的指定列进行排序。例如,对上述二维数组按照每行的第一个元素进行排序,可以这样写:

arr = [[3, 2], [5, 1], [4, 3], [1, 2]]
new_arr = sorted(arr, key=lambda x:x[0])
print(new_arr) # 输出[[1, 2], [3, 2], [4, 3], [5, 1]]

上述代码中,sorted()函数的第一个参数为arr,第二个参数的key参数指定按照每行的第一个元素进行排序,即lambda函数返回每行的第一个元素。最终输出的结果为[[1, 2], [3, 2], [4, 3], [5, 1]],表示每行的第一个元素按照从小到大排序。

三、Python二维数组排序函数sort()

除了sorted()函数外,Python二维数组还可以使用sort()函数进行排序,sort()函数直接对原数组进行排序。与sorted()函数不同的是,sort()函数没有返回值,排序结果直接反映在原数组上。

例如对上面的二维数组按每行的第二个元素进行排序,可以这样写:

arr = [[3, 2], [5, 1], [4, 3], [1, 2]]
arr.sort(key=lambda x:x[1])
print(arr) # 输出[[5, 1], [3, 2], [1, 2], [4, 3]]

上述代码中,sort()函数的key参数指定每行的第二个元素作为排序关键字,最终输出的结果为[[5, 1], [3, 2], [1, 2], [4, 3]],表示每行的第二个元素按从小到大排序。

四、完整的代码实例

以下是一个完整的二维数组排序的代码实例,通过命令行输入二维数组以及按照行或列排序:

import sys

# 获取命令行参数
args = sys.argv

if len(args) < 3:
    print("请提供二维数组及排序方式")
    exit()

# 解析二维数组
try:
    arr = eval(args[1])
    if type(arr) != list:
        print("请提供正确的二维数组")
        exit()
    for row in arr:
        if type(row) != list:
            print("请提供完整的二维数组")
            exit()
except:
    print("请提供正确的二维数组")
    exit()

# 解析排序方式
if args[2] == "row":
    key = lambda x:x[0]
elif args[2] == "col":
    key = lambda x:x[1]
else:
    print("请提供正确的排序方式(row或col)")
    exit()

# 对二维数组进行排序
arr.sort(key=key)
print(arr)

在命令行输入以下代码:

python2 sort_array.py "[[3, 2], [5, 1], [4, 3], [1, 2]]" col

即可对二维数组按照每行的第二个元素排序,输出为[[5, 1], [3, 2], [1, 2], [4, 3]]。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python二元数组排序函数 - Python技术站

(0)
上一篇 2023年4月15日
下一篇 2023年4月15日

相关文章

  • python如何保存预测函数?

    要保存Python预测函数,我们需要将模型导出为一个独立的文件,这个文件可以在其他程序中加载和使用。下面是一个简单的步骤: 1. 训练并保存模型 要保存预测函数,我们首先需要训练一个模型。这个过程通常包括数据清洗、特征提取和模型训练。训练完成后,我们需要将模型保存为一个文件。在Python中,我们可以使用pickle或joblib库来实现这个过程。 首先,我…

    python 2023年4月15日
    00
  • 如何查看python模块中有哪些函数

    要查看Python模块中包含哪些函数,有以下两种方法: 方法一:使用dir()函数 Python内置函数dir()能够返回当前命名空间中定义的所有名称列表,包括所有模块、变量、函数、类等。当我们导入一个模块后,可以使用dir()函数查看其中所有的函数名。 例如,我们要查看Python标准库time模块中的所有函数名,可以使用以下代码: import time…

    python 2023年4月15日
    00
  • 怎么用python画sin函数图像

    当需要用Python绘制一个函数图像时,通常可以使用Matplotlib这个Python数据可视化库。在本攻略中,我们将讲解使用Matplotlib如何绘制Sin函数的图像。 1. 安装Matplotlib库 在开始绘制图像之前,我们需要先安装Matplotlib库。打开终端或命令行界面,输入以下命令: pip install matplotlib 2. 引…

    python 2023年4月15日
    00
  • python引用其他函数中的变量

    使用Python引用其他函数中的变量,需要使用函数参数和返回值。 具体步骤如下: 1.将要使用的函数定义为一个函数,函数的参数中包含需要使用的变量。 2.在主函数中调用此函数,将需要使用的变量作为参数传递给此函数。 3.在子函数中对变量进行操作。 4.修改完变量之后,将结果以返回值的形式返回给主函数。 5.主函数中接收返回值,即可获取到被修改后的变量。 以下…

    python 2023年4月15日
    00
  • python实现将整数转为二进制函数

    当我们需要在程序中处理二进制数据时,需要将整数转换为二进制字符串。Python 提供了内置的函数 bin() 来完成这个任务。 bin() 函数返回一个整数的二进制表示,其结果为字符串类型。例如,将整数 5 转换为二进制字符串的代码如下: num = 5 binary_str = bin(num) print(binary_str) # 输出:0b101 在…

    python 2023年4月15日
    00
  • python实现随机码函数

    这里给你讲解Python实现随机码函数的完整攻略。 1、思路 生成随机码的基本思路是:从可选字符串中随机选取指定长度的字符。因此可以采用Python中的random模块来生成随机数,并根据需要选择相应的字符集。 随机码的生成过程可以按照以下步骤进行: 定义所有可选字符(例如大小写字母、数字、特殊字符等)。 根据需求定义随机码的长度。 从所有可选字符中随机选择…

    python 2023年4月15日
    00
  • python定义求梯形面积的函数

    下面是我为你准备的完整攻略: 首先,我们需要定义一个求梯形面积的函数,函数的形式如下: def trapezoid_area(base_up, base_down, height): """ 计算梯形面积的函数 参数: base_up — 上底长度 base_down — 下底长度 height — 高度 返回值: 梯形面…

    python 2023年4月15日
    00
  • python里input函数怎么用

    当我们想要从用户那里获取输入时,Python 中的 input() 函数就可以派上用场。这个函数允许用户输入一些文本,并将其存储在一个变量中,以供程序使用。 语法 在Python中,使用 input() 函数获取用户输入的语法如下: variable_name = input("Please enter some text: ") var…

    python 2023年4月15日
    00
合作推广
合作推广
分享本页
返回顶部