gpt4 book ai didi

python - 如何检查嵌套列表是否仅包含空字符串

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

在 pyqt 中,我有一个用户可以编辑的 qtableview。如果用户对表进行更改,则在用户完成后将复制该表。如果未进行任何更改,则跳过该表。该表充满了空字符串,即:

table = [["","",""],["","",""]]

我想检查表是否只包含"",如果包含,则忽略它。如果没有,即包含 "1",则某些代码将在列表上运行。现在我有一个工作代码,但它不是很Pythonic,我想知道如何改进它。我的代码如下:

tabell1 = [["","",""],["","",""]]
meh = 0
for item in self.tabell1:
for item1 in item:
if item1 == "":
pass
else:
meh = 1
if meh == 1:
do the thing

最佳答案

要检查任何子列表中的任何元素是否满足条件,您可以使用 any和一个嵌套的生成器表达式:

tabell1 = [["","",""],["","",""]]
if any(item for sublist in tabell1 for item in sublist):
# do the thing

这还有一个优点,就是一发现非空字符串就停止!您的方法将继续搜索,直到检查完所有子列表中的所有项目。

空字符串被视为False,每个包含至少一项的字符串被视为True。但是,您也可以显式地与空字符串进行比较:

tabell1 = [["","",""],["","",""]]
if any(item != "" for sublist in tabell1 for item in sublist):
# do the thing

关于python - 如何检查嵌套列表是否仅包含空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43080083/

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