Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据相关数字从字母数字列表中查找特定元素-python_Python_List_Alphanumeric - Fatal编程技术网

根据相关数字从字母数字列表中查找特定元素-python

根据相关数字从字母数字列表中查找特定元素-python,python,list,alphanumeric,Python,List,Alphanumeric,我有一个包含嵌套字母数字元素的列表。我在寻找一种方法来找到列表中所有特定的集合,它们都有相同的编号。一般来说,该列表看起来是这样的[[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]],

我有一个包含嵌套字母数字元素的列表。我在寻找一种方法来找到列表中所有特定的集合,它们都有相同的编号。一般来说,该列表看起来是这样的[[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表示相同的数字(它可以是任何数字tho,它只是必须相同)。 输出结果会像这样

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)
到目前为止我制定的代码是这样的

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之间的数字也需要相同(在任何一组中)。我想知道如何将其整合到代码中,或者是否有更好的总体方法。

使用简单的列表理解。遍历并检查两个元素是否相同

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']]]

使用简单的列表理解。遍历并检查两个元素是否相同

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']]]

很高兴,成功了。如果你喜欢它,你可以接受它作为一个答案。嘿,对不起,我本想早点提这个的。这里的代码输出所有相同的i[0]和i[1],比如[[a1,b2],[a1,b2]]。我想知道是否有一种方法可以只输出那些数字都相同的数字,比如[[a2,b2],[a2,b2]]。嘿,实际上我已经找到了!再次感谢你的帮助。很高兴,成功了。如果你喜欢它,你可以接受它作为一个答案。嘿,对不起,我本想早点提这个的。这里的代码输出所有相同的i[0]和i[1],比如[[a1,b2],[a1,b2]]。我想知道是否有一种方法可以只输出那些数字都相同的数字,比如[[a2,b2],[a2,b2]]。嘿,实际上我已经找到了!再次感谢你的帮助