【问题标题】:Need help matching a two list that are nested list or two dimensional list需要帮助匹配嵌套列表或二维列表的两个列表
【发布时间】:2020-01-10 14:26:10
【问题描述】:

我有两个二维列表。有没有办法将 df1 中的所有行与 df2 中的行匹配?

如果可以,可以不使用循环来完成吗?

【问题讨论】:

  • match 是什么意思? df1df2 是什么?您能否展示一个初始值的小例子,确切的期望结果,并简要说明它应该如何计算?
  • 我有两个二维列表或嵌套列表 df1=[[13, 14, 23], [6, 10, 15, 25], [5, 9, 19, 25], [17, 20, 21, 25], [11, 13, 22, 25]] df2=[[7, 8, 15, 16, 21], [9, 11, 12, 17, 21], [5, 14, 16, 17, 21], [2, 10, 14, 18, 21], [6, 8, 17, 18, 21]] 我希望我的结果是 0 [[], [], [14 ], [14], []] 1 [[15], [], [], [10], [6]] 2 [[], [9], [5], [], []] 3 [ [21], [17, 21], [17, 21], [21], [17, 21]] 4 [[], [11], [], [], []]

标签: python python-3.x pycharm jupyter-notebook


【解决方案1】:

如果您的意思是“匹配”来检查它们是否包含相同的项目,那么如果它们具有相同的顺序,只需使用 == 运算符 例如,如果我有

a = [[1,3], [2,4], [7,9], [8, 10]]
b = [[1,3], [2,4], [7,9], [8, 11]]

然后:

a == b
output: false

但是

a = [[1,3], [2,4], [7,9], [8, 10]]
b = [[1,3], [2,4], [7,9], [8, 10]]
output: true

如果这两个列表是无序的,那么你可以这样做sorted(a) == sorted(b) 但是,如果例如 a = [[2,1],[4,3]] 和 b = [[1,2],[3,4]],这将不起作用

在这里你应该实现一个对二维列表进行排序的方法,这不会那么难

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多