我在编写一个python函数时遇到了这个问题,该函数将位列表作为输入,并打印由该位列表表示的项。你知道吗
所以这个问题是关于背包的,这是一个相对简单和直接的问题,因为我对python语言也是新手。你知道吗
因此,从技术上讲,这些项目可以在列表[1,2,3,4]中命名,该列表对应于类型1、类型2、类型3等,但我们不需要“类型”。问题是,我在位列表[0,1,1,1]中表示解决方案,其中0表示未执行,1表示执行。换言之,类型1的项不被获取,而其余项被获取,如我编写的位列表所示。你知道吗
现在我们需要编写一个python函数,它将位列表作为输入,并打印与之对应的项,在这种情况下,我需要函数打印出[2,3,4],因为1是按位列表为0的。有什么帮助吗?这是一个2分的问题,但我还是想不通。你知道吗
def printItems(l):
for x in range(len(l)):
if x == 0:
return False
elif x == 1:
return l
我试过那样的方法,但是错了。非常感谢您的帮助。你知道吗
可以使用
itertools.compress
快速解决:您的解决方案不起作用的原因是因为您在函数中使用了
return
,您需要使用print
,并确保您正确地迭代了列表。在这种情况下,enumerate
简化了事情,但是有许多类似的方法可以工作:您可以使用列表理解和^{} 作为:
或者,如果您不需要任何内置函数并希望创建自己的函数,则可以将代码修改为:
运行示例:
您可以使用zip函数来实现这一点,该函数接受两层并成对返回它们:
或者,如果您需要列表而不是打印列表,您可以使用列表理解:
相关问题 更多 >
编程相关推荐