gpt4 book ai didi

python - 如何比较python中的两个列表列表

转载 作者:行者123 更新时间:2023-11-28 20:02:22 26 4
gpt4 key购买 nike

我有两个列表列表,如下所示:

List_1 = [[10.7,7.2],[6.3,5.0],[8.9,10.0]]
List_2 = [[10.7,6.8],[6.3,4.9],[8.9,12.7]]

我想创建一个名为 List_3 的第三个列表,它只包含 List_2 的对,其中 List_2 中的对的第二个值大于 List_1 中的对的第二个值。例如,在这种情况下,List_3 将是一个如下所示的列表:

List_3 = [[8.9,12.7]]

因为第二个值 12.7 是唯一一个大于 List_1 中的对的第二个值。换句话说,我想将 List_1 中的所有列表与 List_2 中的所有列表进行比较,并且只获取 List_2 中的列表,其中 List_1 的 n 大于 List_2 的 n,其中列表 1 和 2 如下所示:

[[m,n],[m,n],[m,n]]

我尝试创建以下代码,但它没有按预期工作:

List_3 = []
for i in range(len(List_2)):
for j in range(len(List_1)):
if List_2[i][1] > List_1[j][1]:
List_3.append(List_2[i][1])
print(List_3)

我该如何解决这个问题,以便在 List_2[m][n] 中的 n 大于 List_1[m][n] 时创建 List_3?

如有任何想法或建议,我们将不胜感激。

最佳答案

使用列表理解和zip:

>>> List_1 = [[10.7,7.2],[6.3,5.0],[8.9,10.0]]
... List_2 = [[10.7,6.8],[6.3,4.9],[8.9,12.7]]
...
>>> List_3 = [l2 for l1, l2 in zip(List_1, List_2) if l2[1] > l1[1]]
>>> List_3
[[8.9, 12.7]]

关于python - 如何比较python中的两个列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46477680/

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