gpt4 book ai didi

python-3.x - 检查元素是否存在于列表列表中的第 N 个位置

转载 作者:行者123 更新时间:2023-12-04 08:04:35 25 4
gpt4 key购买 nike

考虑有这个列表:

ini_list = [[1, 2, 5, 10, 7], 
[4, 3, 4, 3, 21],
[45, 65, 8, 8, 9]]
我需要能够找到 4 是否存在于列表列表的第 3 个元素中。所以在这个例子中,我看到它确实存在于第二个列表 [4, 3, 4, 3, 21] 的位置 1 和 3 上,因此它将返回 true。
我可以做这个:
elem_to_find = 4
res1 = any(elem_to_find in sublist for sublist in ini_list)
但是通过这样做,我正在搜索所有列表元素列表,而不仅仅是按预期搜索每个列表的第 3 个。什么是正确的方法?

最佳答案

你可以这样做:

res1 = any(elem_to_find == sublist[2] for sublist in ini_list if len(sublist) > 2)
这比较 elem_to_findsublist[2]而不仅仅是 sublist ,即第三个元素而不是整个列表。它还确保子列表的长度大于 2(否则第三个元素将不存在)。
以下是带有 2 个示例的完整代码:
ini_list = [[1, 2, 5, 10, 7], 
[4, 3, 4, 3, 21],
[45, 65, 8, 8, 9]]

elem_to_find = 4
res1 = any(elem_to_find == sublist[2] for sublist in ini_list if len(sublist) > 2)

print(res1)
# Prints True

ini_list = [[1, 2, 5, 10, 7],
[4, 3, 3, 3, 21], # No longer has 4 in 3rd position
[45, 65, 8, 8, 9]]

res1 = any(elem_to_find == sublist[2] for sublist in ini_list if len(sublist) > 2)
print(res1)
# Prints False

关于python-3.x - 检查元素是否存在于列表列表中的第 N 个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66286285/

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