gpt4 book ai didi

python - 比较列表 python

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:53 25 4
gpt4 key购买 nike

我正在尝试比较具有相同索引数的一个列表和 3 个其他列表。例如我有这个列表

 [A, B, C]

我用某个函数创建了另一个带有随机嵌套列表的列表比如:

 [[A ,B ,B], [C, B, A], [B, B, C]]

但我想将每个嵌套列表与原始列表进行比较,看看每个嵌套列表中有多少字符与原始列表中的字符在同一位置当我将原始列表中的每个索引与嵌套列表中的三个索引中的每一个进行比较时,它会起作用。我的老师说它很好,但对我来说它看起来很愚蠢,如果我有 100 个嵌套列表怎么办?必须有更好的方法来比较列表。建议任何人?

最佳答案

你可以这样做:

from itertools import izip
def matches(input_lists, base_list):
for l in input_lists:
yield sum(1 for a, b in izip(l, base_list) if a==b)

结果如下:

>>> for i in matches([[1,2,3],[2,3,1],[0,2,0]], [1,2,4]):
i


2
0
1

按预期工作。

izip() function是生成器函数,这是比 zip() 更好的解决方案.另外我们定义的matches()是generator function,所以在处理大列表的时候应该问题比较少。

有帮助吗?够干净吗?

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

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