m0_61134441 2023-02-28 15:04 采纳率: 42.9%
浏览 69

离散数学,偏序关系,第六问能否提供些例子

离散数学,偏序关系,第六问能否提供些例子

img


离散数学,偏序关系,第六问能否提供些例子

  • 写回答

2条回答 默认 最新

  • 幻灰龙 2023-02-28 16:36
    关注

    例如编程中,有如下的python的列表l

    l=[
      {"a":1,"b":2}, 
      {"a":4,"b":1}, 
      {"a":2,"b":5}, 
      {"a":1,"b":4},
      {"a":1,"b":1},
      {"a":1,"b":3}
    ]
    

    对列表l做排序,只根据a字段做排序

    l.sort(key=lambda item:item['a'])
    

    结果如下:

    [
      {'a': 1, 'b': 2}, 
      {'a': 1, 'b': 4}, 
      {'a': 1, 'b': 1}, 
      {'a': 1, 'b': 3}, 
      {'a': 2, 'b': 5}, 
      {'a': 4, 'b': 1}
    ]
    

    可以看到字段a是按从小到大排序了,但是字段a都是1的时候,这几个元素并没有按字段b排序:

    {'a': 1, 'b': 2}, 
    {'a': 1, 'b': 4}, 
    {'a': 1, 'b': 1}, 
    {'a': 1, 'b': 3},
    

    如果我们使用多字段排序

    l.sort(key=lambda item:(item['a'],item['b']))
    

    则得到排序后的结果是先按a字段排序,a字段相同的再按b字段排序:

    [
      {'a': 1, 'b': 1}, 
      {'a': 1, 'b': 2}, 
      {'a': 1, 'b': 3}, 
      {'a': 1, 'b': 4}, 
      {'a': 2, 'b': 5}, 
      {'a': 4, 'b': 1}
    ]
    

    可以看到a都为1时,是按元素b从小到大排序的:

    {'a': 1, 'b': 1}, 
    {'a': 1, 'b': 2}, 
    {'a': 1, 'b': 3}, 
    {'a': 1, 'b': 4}
    

    偏序在编程中是有实际重要的作用的,排序中比较两个元素的时候,元素之间的比较关系是否满足偏序,会导致排序结果的不同。更多的应用,在数据库中的查询中,有 order by的关键字,可以指定数据库查询中根据1个到多个字段做排序。

    评论

报告相同问题?

问题事件

  • 专家修改了标签 2月28日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥20 基于matlab的航迹融合 航迹关联 航迹插补
  • ¥15 用Matlab实现图中的光线追迹
  • ¥15 联想笔记本开机出现系统更新界面