【问题标题】:Python - List with arrays, check if arrays are empty [duplicate]Python - 包含数组的列表,检查数组是否为空[重复]
【发布时间】:2020-10-22 08:41:42
【问题描述】:

背景:

我的代码获取 git 合并请求的更改,并将扩展名与规则文件进行比较,该文件说明哪个文件已更改(例如实现文件,因为 .py 已更改)。

现在我想做一个映射。如果实现文件中的某些内容发生更改,我想保存此信息。我刚刚做了一个布尔值implementation_check = False

我的 change_log_array 列表有很多像我的规则一样的数组。如果未触发规则,则数组将保持为空(例如有要求的文件)

问题:

现在我的列表中有一些空数组(在列表的开头或中间)。 如何检查数组是否为空?喜欢if x is not None:

【问题讨论】:

  • 请不要对我的问题投反对票,他们会禁止我 :( 我花了 1 个小时才这样问
  • 你最好花时间学习如何问兄弟......为了你自己的利益和学习......不要乞求赞成和反对,这些是为了帮助你不要羞辱你
  • 你一直指的这个“数组”类型是什么?
  • @ygorg 如果它为空: 0 如果不为空 64 for ex
  • 您的问题取决于您没有提供给我们的各种信息,例如all_changes 的元素是什么,或者to_array 方法是什么。人们假设您的“数组”是列表,但如果它们是列表,那么他们给您的所有答案都会起作用。您的问题完全无法回答,这就是为什么您一直在投票。此外,用无法回答的问题堵塞 Stack Overflow 对网站健康不利,这就是存在问题禁令的原因。如果您不想被禁止提问,请提供足够的信息以使您的问题可以回答。

标签: python arrays python-3.x list


【解决方案1】:

假设my_list 是你的变量,那么简单:

if my_list:
   # code to execute if my_list exists and is not empty
else:
   # my_list does not exist or is empty

那样它就是pythonic :)

ps。检查:

if my_list is not None

只检查它是否存在(已声明)

【讨论】:

  • 这对我不起作用。我更新了我的代码,你可以看看
  • 您能否提供all_changes vasriable 的示例代码? :)
【解决方案2】:

我的理解是您在列表 (myList) 中有(子)列表,并且您想检查列表中的所有(子)列表是否仍然为空(换句话说,任何子列表不再为空) , 对? (如果我错了,请纠正我,以便我可以相应地编辑我的答案)。

如果是这样,那么也许是这样的:

[] == [i for i in myList if i != []]

(通常,您要过滤掉任何不再为空的列表,然后检查结果列表是否为空iff所有子列表都是空的)。

【讨论】:

  • 你能在我的例子中告诉我吗?我的意思是我稍微更改了我的代码,但它仍然无法正常工作
  • 然而,我建议您重新表述一下您的问题,并更清楚地说明每个变量是什么以及某些函数的返回。这对读者会有帮助。
  • 它对我不起作用。不过还是谢谢!你还有其他的建议吗?
  • 如果可能的话,请向我们提供对您的代码的更多见解,以便任何不知道您在做什么的人都可以关注。
  • 在将所有更改添加到change_log_array 后,您是否尝试使用上面的代码?将您的布​​尔变量分配给循环外的上述代码(将myList 更改为change_log_array
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 2018-04-08
  • 2018-04-23
  • 1970-01-01
  • 2021-10-24
相关资源
最近更新 更多