lanyacp 发表于 2023-3-26 19:01:45

数字对应问题

有个小伙伴问我一个数字的对应问题,我写不出来,求助大家
a1 = [(1, 6), ], [(2, 7), ], [(3, 8), ], [(4, 9),], [(5, 10), ]
a2=
大概意思就是说,先判定a2的元素在a1的哪个元素里面,比如说9在[(4, 9),]中的(4,9)里面,再判定8是不否在中,如果8在,那就往下循环,如果8不在,那就再判断6是否在里面,以此类推。我写的是两个循环,在的话我会往下循环,不在的时候,如何循环,求指点

isdkz 发表于 2023-3-26 19:09:46


你可以尝试以下的 Python 代码来实现这个功能:

a1 = [
    [(1, 6), ],
    [(2, 7), ],
    [(3, 8), ],
    [(4, 9), ],
    [(5, 10), ],
]
a2 =

for item in a2:
    for pair, sequence in a1:
      if item in pair:
            for i in sequence:
                if i not in a2:
                  a2.append(i)
                  break
            break
print(a2)

这段代码首先遍历 a2 中的元素,然后在 a1 中找到对应的元素。当找到对应元素时,遍历该元素对应的序列,如果序列中的某个元素不在 a2 中,则将其添加到 a2,并终止当前循环。这样可以实现你所描述的功能。
页: [1]
查看完整版本: 数字对应问题