gpt4 book ai didi

python - 在 Python 的嵌套列表中查找匹配项

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:50 24 4
gpt4 key购买 nike

我有两个不同大小的嵌套列表:

A = [[1, 7, 3, 5], [5, 5, 14, 10]]

B = [[1, 17, 3, 5], [1487, 34, 14, 74], [1487, 34, 3, 87], [141, 25, 14, 10]]

如果 A[2:4] == B[2:4] 我想从列表 B 中收集所有嵌套列表并将其放入列表 L:

L = [[1, 17, 3, 5], [141, 25, 14, 10]]

此外,如果匹配发生,那么我想将子列表 B 的最后一个元素更改为子列表 A 的第一个元素,因此最终解决方案如下所示:

L1 = [[1, 17, 3, 1], [141, 25, 14, 5]]

最佳答案

看起来这就是你想要的:

> [b for b in B if b[2:4] in [a[2:4] for a in A]]
[[1, 17, 3, 5], [141, 25, 14, 10]]

但是,为了效率起见,您可能希望预先计算 A 的切片。

> a_slices = [a[2:4] for a in A]
> [b for b in B if b[2:4] in a_slices]
[[1, 17, 3, 5], [141, 25, 14, 10]]

这是看起来符合您的新要求的东西:

> [b[:-1] + a[:1] for b in B for a in A if b[2:4] == a[2:4]]
[[1, 17, 3, 1], [141, 25, 14, 5]]

关于python - 在 Python 的嵌套列表中查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3030790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com