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运行main函数的使用教程

    下面给您详细讲解Python运行main函数的使用教程攻略。 什么是main函数? 在Python中,if __name__ == “__main__”:经常出现在代码中。这是在Python文件中定义main()函数并将其用作运行程序的入口点的通用做法。这是一种非常流行的方法,因为它可以使代码变得更加模块化并且使其易于测试和重用。在if __name__ =…

    python 2023年4月15日
    00
  • python函数定义与使用

    Python 是一种高级编程语言,其中函数是一种非常重要的编程元素。在 Python 中,函数可以用于对数据进行处理、优化程序结构、重用代码等方面。下面就是 Python 函数定义与使用的完整攻略: 函数定义 在 Python 中,函数定义可以使用 def 关键字。Python 中函数定义的语法格式如下: def function_name(paramete…

    python 2023年4月15日
    00
  • python函数手册chm版在哪下载

    Python函数手册是Python自带的文档,它包含了Python语言的核心函数和模块的详细说明。Python函数手册有多种版本,其中一种常见的版本是CHM版,它可以在Windows操作系统下方便地使用。下面是Python函数手册CHM版的下载攻略。 首先访问Python官网的文档页面:https://docs.python.org/3/index.html…

    python 2023年4月15日
    00
  • python multiindex函数

    Python中的MultiIndex函数是用于在pandas DataFrame对象中创建、管理多维索引(multi-dimensional indexing)的函数。下面是一个完整的攻略,包括MultiIndex函数的基本使用和多个示例: 基本使用 可以使用MultiIndex函数创建多级或分层索引的对象,该对象可以被用于构建pandas DataFram…

    python 2023年4月15日
    00
  • python3中input函数用法详解

    当我们使用Python3编写程序时,往往需要从用户那里获取一些数据。在Python3中,内置函数input()提供了一种简单的方式来获取控制台输入。本攻略将详细介绍input函数的用法和示例代码。 1. input函数的用法 input函数的语法如下: input([prompt]) 其中,可选的提示字符串(prompt)是一个可选参数。如果该参数被省略,则…

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

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

    python 2023年4月15日
    00
  • python中mkdir函数作用与使用方法

    mkdir()是Python中用于创建文件夹(目录)的函数。它的作用是在指定的路径下创建新的目录。 mkdir()函数的语法如下: os.mkdir(path, mode=0o777, *, dir_fd=None) 其中,参数说明如下: path:要创建的目录路径。在Windows系统中,目录名称之间使用反斜杠\分隔;在Linux等Unix系统中,目录名称…

    python 2023年4月15日
    00
  • python有函数重载吗

    Python中没有像Java或C++那样的函数重载概念,因为Python是一种强类型的动态语言,这意味着无需指定变量的数据类型,函数的参数与返回值可以根据调用方提供的实际参数和上下文类型推断而自动适配。 在Python中,函数名是一个对象,可以拥有多个重载版本。但是,只有最后一个版本会生效。这意味着,调用同一个函数时,必须使用相同的参数类型和数量,否则会抛出…

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