首页 > 解决方案 > 用 Python 匹配 Arraylist 中的数组索引

问题描述

我有一个数组列表。我想匹配数组并添加最后一列 uuid。为此,数组中的第二个和第三个索引必须相同。它们可以等于 2 -> 3 或 3-> 2。

我想用一个例子来解释这一点。

import uuid as id

test1 = [['412', '413', 'AAAAA', 'BBBBB', 'indian'],
         ['412', '414', 'AAAAA', 'CCCCC', 'indian'],
         ['413', '415', 'BBBBB', 'DDDDD', 'indian'],
         ['413', '415', 'EEEEE', 'FFFFF', 'indian'],
         ['413', '414', 'BBBBB', 'CCCCC', 'indian'],
         ['414', '415', 'CCCCC', 'DDDDD', 'indian'],
         ['416', '417', 'FFFFF', 'GGGGG', 'indian']]

x = str(id.uuid4())[:8]

将 x 值附加到数组的最后

在这里,如果 AAAAA 会在所有其他系列中找到它的值,它会匹配,但不一定有 AAAAA。BBBBB 也可以。无论是在第二或第三指数上都没有关系。

必须输出

test1 = [['412', '413', 'AAAAA', 'BBBBB', 'indian', 'bb5c11ed'], # same_1
         ['412', '414', 'AAAAA', 'CCCCC', 'indian', 'bb5c11ed'], # same_1
         ['413', '415', 'BBBBB', 'DDDDD', 'indian', 'bb5c11ed'], # same_1
         ['413', '415', 'EEEEE', 'FFFFF', 'indian', 'c47c394e'], # same_2
         ['413', '414', 'BBBBB', 'CCCCC', 'indian', 'bb5c11ed'], # same_1
         ['414', '415', 'CCCCC', 'DDDDD', 'indian', 'bb5c11ed'], # same_1
         ['416', '417', 'FFFFF', 'GGGGG', 'indian', 'c47c394e']] # same_2  

我知道我无法很好地解释它。如果你问你哪里不明白,我可以帮你。

标签: pythonpython-3.xalgorithm

解决方案


这就是我阅读问题的方式。

您有一个带有顶点AAAAA, BBBBB, CCCCC等的图。每条记录都定义了边,并且同一连接组件中的每条边都应获得相同的 uuid。

现在问题减少到找到连接的组件。有许多算法可以解决它。


推荐阅读