首页 > 编程语言 >【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )

【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )

时间:2023-07-30 10:03:42浏览次数:45  
标签:sort 函数 元素 列表 lst 排序



文章目录

  • 一、列表排序
  • 1、使用 sorted 函数对容器进行排序
  • 2、使用 list.sort 函数对列表进行排序
  • 3、使用 list.sort 函数对列表进行排序 - 设置排序函数
  • 4、使用 list.sort 函数对列表进行排序 - 设置 lambda 匿名排序函数




pyecharts 画廊网站 : https://gallery.pyecharts.org/#/

  • 在该网站可查看官方示例





一、列表排序




1、使用 sorted 函数对容器进行排序



在之前的博客 【Python】数据容器总结 ② ( 数据容器元素排序 | 字符串大小比较 | 字符大小比较 | 长短一样的字符串大小比较 | 长短不一样的字符串大小比较 ) 中 , 介绍了使用 sorted 函数 对容器中的元素进行排序 ;



sorted 函数语法如下 :

sorted(iterable, key=None, reverse=False)
  • iterable 是要排序的 Python 容器变量 ;
  • key 是一个可选的函数 , 用于指定排序的关键字 ;
  • reverse 是一个可选的布尔值 , 用于指定是否按照逆序排序 ;


sorted 函数排序 代码示例 :

"""
sorted 函数代码示例
"""


# 排序列表
lst = [3, 1, 4, 1, 5, 9, 2]
sorted_lst = sorted(lst)
print(sorted_lst)  # 输出:[1, 1, 2, 3, 4, 5, 9]

# 按照元素大小逆序排序  
reverse_sorted_lst = sorted(lst, reverse=True)
print(reverse_sorted_lst)  # 输出:[9, 5, 4, 3, 2, 1, 1]

# 按照字符串长度排序  
str_lst = ["Joe", "Trump", "Tom", "Jerry"]
sorted_str_lst = sorted(str_lst, key=len)
print(sorted_str_lst)  # 输出:['Joe', 'Tom', 'Trump', 'Jerry']

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
[1, 1, 2, 3, 4, 5, 9]
[9, 5, 4, 3, 2, 1, 1]
['Joe', 'Tom', 'Trump', 'Jerry']

Process finished with exit code 0

【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )_信息可视化



2、使用 list.sort 函数对列表进行排序



在数据处理中 , 经常需要对 列表 进行排序 ;

如果在排序的同时 , 还要指定排序规则 , 那么 就不能使用 sorted 函数 了 , 该函数无法指定排序规则 ;

这里引入 list.sort 方法 , 可以完成对 列表 容器的排序 , 同时还可以指定排序规则 ;



list.sort 方法 会修改原始列表并返回 None ;



list.sort 函数 基本语法如下 :

list.sort(key=None, reverse=False)
  • key 参数 是可选参数 , 通过该关键字可指定一个排序函数 , 该函数将用于比较列表中的元素 ;
  • 指定的排序函数应该接受一个参数并返回一个值 , 表示该参数的比较值 ;
  • 如果没有指定 key 比较函数 , 则默认按元素的值进行比较 ;
  • reverse 参数 也是 可选参数 , 参数类型是布尔值类型 , 指定是否按照逆序排序 ;
  • 如果设置为 True,则从大到小排序 ;
  • 如果设置为 False,则从小到大排序 ;
  • 默认值为 False ;
  • 返回值 为 None ;


代码示例 :

"""
sort 函数代码示例
"""

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
lst.sort()
print(lst)  # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

Process finished with exit code 0

【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )_python_02



3、使用 list.sort 函数对列表进行排序 - 设置排序函数



list.sort 函数 的 key 参数 , 需要传入一个排序函数 , 该函数的规则如下 :

  • 指定的排序函数应该 接受一个参数 并 返回一个值 , 该返回值就是列表元素的比较值 ;
  • 返回的 比较值 应该是与 列表元素相关 , 一般是由列表元素 经过一系列计算得到 ;
  • 如果没有指定 key 比较函数 , 则默认按元素的值进行比较 ;

下面的代码中 , 要比较的列表容器是 :

# 要排序的列表容器
lst = [["Tom", 18], ["Jerry", 12], ["Trump", 80], ["Joe", 72]]

该列表中的元素是另外一个列表 , 内层列表规则是 , 第一个元素是字符串 , 第二个元素是 数值 ;

排序的规则就是根据内层列表的第二个元素 数值类型 元素 进行排序 ;



排序函数如下 : 根据内层列表的第二个元素 数值类型 元素 进行排序 , 直接将内层列表的第二个元素返回即可 ;

def sort_key_fun(element):
    """
    传入列表容器的元素, 返回该元素的一个表达式, 也就是按照什么规则进行排序
    按照该元素的第 1 个元素进行排序
    :param element: 列表元素
    :return:    列表元素排序依据
    """
    return element[1]



代码示例 :

"""
sort 函数代码示例
"""

# 要排序的列表容器
lst = [["Tom", 18], ["Jerry", 12], ["Trump", 80], ["Joe", 72]]


def sort_key_fun(element):
    """
    传入列表容器的元素, 返回该元素的一个表达式, 也就是按照什么规则进行排序
    按照该元素的第 1 个元素进行排序
    :param element: 列表元素
    :return:    列表元素排序依据
    """
    return element[1]


lst.sort(key=sort_key_fun, reverse=True)
print(lst)  # 输出:[['Trump', 80], ['Joe', 72], ['Tom', 18], ['Jerry', 12]]

lst.sort(key=sort_key_fun, reverse=False)
print(lst)  # 输出:[['Jerry', 12], ['Tom', 18], ['Joe', 72], ['Trump', 80]]

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
[['Trump', 80], ['Joe', 72], ['Tom', 18], ['Jerry', 12]]
[['Jerry', 12], ['Tom', 18], ['Joe', 72], ['Trump', 80]]

Process finished with exit code 0

【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )_pyecharts_03



4、使用 list.sort 函数对列表进行排序 - 设置 lambda 匿名排序函数



list.sort 函数 的 key 参数 , 需要传入一个排序函数 , 该函数的规则如下 :

  • 指定的排序函数应该 接受一个参数 并 返回一个值 , 该返回值就是列表元素的比较值 ;
  • 返回的 比较值 应该是与 列表元素相关 , 一般是由列表元素 经过一系列计算得到 ;
  • 如果没有指定 key 比较函数 , 则默认按元素的值进行比较 ;


该排序函数 , 可以指定为一个 lambda 表达式 , 也就是匿名函数 ;

该 lambda 匿名排序函数 接收一个 element 参数 , 也就是 list 列表集合的 元素类型变量 , 返回 的是 比较值 ;



lambda 函数可以写为 :

lambda element: element[1]

完整的排序函数调用代码 :

lst.sort(key=lambda element: element[1], reverse=True)



代码示例 :

"""
sort 函数代码示例
"""

# 要排序的列表容器
lst = [["Tom", 18], ["Jerry", 12], ["Trump", 80], ["Joe", 72]]

# 传入 lambda 表达式 / 匿名函数
lst.sort(key=lambda element: element[1], reverse=True)
print(lst)  # 输出:[['Trump', 80], ['Joe', 72], ['Tom', 18], ['Jerry', 12]]

lst.sort(key=lambda element: element[1], reverse=False)
print(lst)  # 输出:[['Jerry', 12], ['Tom', 18], ['Joe', 72], ['Trump', 80]]

执行结果 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
[['Trump', 80], ['Joe', 72], ['Tom', 18], ['Jerry', 12]]
[['Jerry', 12], ['Tom', 18], ['Joe', 72], ['Trump', 80]]

Process finished with exit code 0

【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函数对容器进行排序 | 使用 list.sort 函数对列表进行排序 | 设置排序函数 )_开发语言_04


标签:sort,函数,元素,列表,lst,排序
From: https://blog.51cto.com/u_14202100/6898608

相关文章

  • 无涯教程-jQuery - Datepicker组件函数
    WidgetDatePicker函数可与JqueryUI中的窗口小部件一起使用。重点放在输入上,以小巧的方式打开交互式日历。Datepicker-语法$("#datepicker").datepicker();Datepicker-示例以下是显示DatePicker用法的简单示例-<!doctypehtml><htmllang="en"><head><m......
  • 22-Hive函数应用
    1.多字节分隔符1.1问题与需求【默认规则】Hive默认序列化类是LazySimpleSerDe,其只支持使用单字节分隔符(char)来加载文本数据,例如逗号、制表符、空格等等,默认的分隔符为”\001”。根据不同文件的不同分隔符,我们可以通过在创建表时使用rowformatdelimited来指定文件中的分......
  • 21-Hive运算符&函数
    1.Hive内置运算符整体上,Hive支持的运算符可以分为三大类:关系运算、算术运算、逻辑运算。官方参考文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF也可以使用下述方式查看运算符的使用方式:--显示所有的函数和运算符showfunctions;--查看运算......
  • 【d2l】【常见函数】【20】 torch.bmm( )
    局部矩阵乘法参考:https://pytorch.org/docs/stable/generated/torch.bmm.html......
  • Day6: Shell函数和参数传递
    学习目标学习内容1.函数的定义和调用2.参数传递3.返回值4.练习任务大树哥个人信息学习目标学习Shell中函数的概念和用法。理解如何在函数中定义和调用命令序列。掌握如何传递参数给函数并获取返回值。练习编写脚本,使用函数进行模块化编程。学习内容今天我们将学习如......
  • Go语言中init函数执行的顺序
    init函数的执行规则:对于同一个go文件,init函数的执行顺序从上到下,即在代码中先出现的init函数会先执行。对于同一个package,不同文件是按照文件名字符串比较的结果决定执行顺序的,字符串越小的文件越早被初始化。对于不同的package,如果不相互依赖,则按照import的顺......
  • C++中fork函数的使用及原理
    C++中fork函数的使用及原理,在C++中,fork函数用于创建一个新的进程称为子进程,该进程与原始进程几乎完全相同。fork函数的基本概况fork()函数调用成功之后,会有两个返回值。当前进程,也就是父进程返回子进程的pid,子进程返回0。如果函数调用错误,返回为-1。#include<stdio.h>#include......
  • C++中的exec()函数
    exec()函数在C++中是一个进程控制函数,用于创建新进程执行其他程序或命令行指令。exec()函数可以替换当前进程的代码和数据,创建新的进程运行其他程序。exec()函数有多个版本,例如execl、execv、execle、execve等,根据不同的参数类型和个数来使用。前言fork函数之后,如果想要把子进程换......
  • 2.3 HLSL常用函数
    1.基本数学运算函数含义示例图min(a,b)返回a、b中较小的数值mul(a,b)两数相乘用于矩阵计算max(a,b)返回a、b中较大的数值abs(a)返回a的绝对值round(x)返回与x最近的整数sqrt(x)返回x的平方根rsqrt(x)返回x平方根的倒数degregee(x)转换成弧度redians(x)将角度转为弧度制noise(x)噪声......
  • 如何在 Python 中计算列表中的唯一值?
    Python提供了各种方法来操作列表,这是最常用的数据结构之一。使用列表时的一项常见任务是计算其中唯一值的出现次数,这在数据分析、处理和筛选任务中通常是必需的。在本文中,我们将探讨四种不同的方法来计算Python列表中的唯一值。在本文中,我们将介绍如何使用集合模块中的集合、字......