根据相关数字从字母数字列表中查找特定元素 - python
Finding specific elements from an alphanumeric list based on there associated number- python
我有一个包含嵌套字母数字元素的列表。我正在寻找一种方法来查找列表中具有相同编号的所有特定集合。通常,该列表看起来像 [[[a#, b#]、[a#, b#]] 等]。列表作为休闲,
A=[[[a2, b4], [a1, b4]],
[[a1, b1], [a1, b1]],
[[a3, b2], [a3, b4]],
[[a2, b2], [a2, b2]]]
我想找出一种方法来遍历 A 并找到所有集合中的 a 和 b 来自相同的数字,例如 [[ai, bi], [ai, bi] ],其中 i 代表相同的数字(它可以是任何数字,但必须相同)。
输出看起来像这样,
B=[[[a1, b1], [a1, b1]],
[[a2, b2], [a2, b2]]
到目前为止,我编写的代码如下所示,
B=[]
for i in range(len(A)):
if A[i][0][0]==A[i][1][0]:
if A[i][0][1]==A[i][1][1]:
pair=[[A[i][0][0],Ai][0][1]], [A[i][1][0],A[i][1][1]]]
B.append(pair)
但这有其自身的问题,因为它没有考虑到 a 和 b 之间的数字也需要相同(在任何一组中)。我想知道如何将其合并到代码中,或者是否有更好的整体方法。
使用简单的列表理解。遍历 A 并检查两个元素是否相同。
In [26]: A=[[['a2', 'b4'], ['a1', 'b4']],
...: [['a1', 'b1'], ['a1', 'b1']],
...: [['a3', 'b2'], ['a3', 'b4']],
...: [['a2', 'b2'], ['a2', 'b2']]]
In [27]: B = [i for i in A if i[0] == i[1]]
In [28]: B
Out[28]: [[['a1', 'b1'], ['a1', 'b1']], [['a2', 'b2'], ['a2', 'b2']]]
我有一个包含嵌套字母数字元素的列表。我正在寻找一种方法来查找列表中具有相同编号的所有特定集合。通常,该列表看起来像 [[[a#, b#]、[a#, b#]] 等]。列表作为休闲,
A=[[[a2, b4], [a1, b4]],
[[a1, b1], [a1, b1]],
[[a3, b2], [a3, b4]],
[[a2, b2], [a2, b2]]]
我想找出一种方法来遍历 A 并找到所有集合中的 a 和 b 来自相同的数字,例如 [[ai, bi], [ai, bi] ],其中 i 代表相同的数字(它可以是任何数字,但必须相同)。 输出看起来像这样,
B=[[[a1, b1], [a1, b1]],
[[a2, b2], [a2, b2]]
到目前为止,我编写的代码如下所示,
B=[]
for i in range(len(A)):
if A[i][0][0]==A[i][1][0]:
if A[i][0][1]==A[i][1][1]:
pair=[[A[i][0][0],Ai][0][1]], [A[i][1][0],A[i][1][1]]]
B.append(pair)
但这有其自身的问题,因为它没有考虑到 a 和 b 之间的数字也需要相同(在任何一组中)。我想知道如何将其合并到代码中,或者是否有更好的整体方法。
使用简单的列表理解。遍历 A 并检查两个元素是否相同。
In [26]: A=[[['a2', 'b4'], ['a1', 'b4']],
...: [['a1', 'b1'], ['a1', 'b1']],
...: [['a3', 'b2'], ['a3', 'b4']],
...: [['a2', 'b2'], ['a2', 'b2']]]
In [27]: B = [i for i in A if i[0] == i[1]]
In [28]: B
Out[28]: [[['a1', 'b1'], ['a1', 'b1']], [['a2', 'b2'], ['a2', 'b2']]]