gpt4 book ai didi

Python 3 如何检查一个值是否已经在列表中

转载 作者:太空狗 更新时间:2023-10-30 02:04:36 26 4
gpt4 key购买 nike

我的 Python 3 中有一个列表列表:

mylist = [[a,x,x][b,x,x][c,x,x]]

(x只是一些数据)

我有我的代码可以做到这一点:

for sublist in mylist:
if sublist[0] == a:
sublist[1] = sublist[1]+1
break

现在我想添加一个条目,如果有子列表==a

我该怎么做?

最佳答案

使用any()测试子列表:

if any(a in subl for subl in mylist):

这会测试每个 subl,但如果找到匹配项,则会提前退出生成器表达式循环。

但是,这不会返回匹配的特定子列表。你可以使用 next()使用生成器表达式查找第一个匹配项:

matched = next((subl for subl in mylist if a in subl), None)
if matched is not None:
matched[1] += 1

其中 None 是生成器表达式引发 StopIteration 异常时返回的默认值,或者您可以省略默认值并改用异常处理:

try:
matched = next(subl for subl in mylist if a in subl)
matched[1] += 1
except StopIteration:
pass # no match found

关于Python 3 如何检查一个值是否已经在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19503821/

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