gpt4 book ai didi

python - 附加 true 或 false 的函数无法正常工作

转载 作者:行者123 更新时间:2023-11-30 21:59:21 24 4
gpt4 key购买 nike

我列了一个 list :

nest_list = [['John like to play football'],['He likes Liverpool'],
['His favourite player is Salah'],['He would like to play as striker'],
[],['James like to play F1'],['He likes Ferrari'],
['His favourite driver is Raikkonnen'],[],
['Stefani like to play basketball'],['She likes Chicago Bulls'],
['His favourite player is Micheal Jordan']]

我想找到哪里是空列表并迭代它们以获取有关每个人的信息并将其存储为数据帧。例如:

Row 1: John Football Liverpool Salah Striker

Row 2: James F1 Ferrari Raikkonen Driver

Column: John James etc

为此,我尝试了当列表长度为 0 时保存到列表 True 的函数,否则保存到列表 False

然后我使用 itertools.compress 打印选择器为 True 的项目。

zip_nest_list = list(zip(range(len(nest_list)),nest_list))
import itertools

selectors = []
def is_empty(i):
'''Create selectors list with True when empty list and false when not empty'''
if len(zip_nest_list[i][1]) == 0:
selectors.append(True)
selectors.append(False)

for x in range(len(zip_nest_list)):
is_empty(x)


result = itertools.compress(zip_nest_list,selectors)
#printing empty lists with number
for item in result:
print(item)

问题是选择器的元素比我预期的要多(14 个而不是 12 个)。在 True 和下一个 True 之间,我有 4 次 False,但应该是 3 次,并在第二秒后再出现一次 False

为什么会这样以及如何解决?有没有更快/更好的方法来解决整个问题?

最佳答案

您忘记了 if 语句中的 else 子句;在任何情况下,False 都会附加到选择器。应该是:

if len(zip_nest_list[i][1]) == 0:
selectors.append(True)
else:
selectors.append(False)

关于python - 附加 true 或 false 的函数无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54615253/

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