【问题标题】:List comprehension that will return true or false given a list of numbers给定数字列表将返回 true 或 false 的列表理解
【发布时间】:2020-10-12 13:13:14
【问题描述】:

给我的数字列表:

L= [9,29,27,11]

我也得到了一个def函数:

is_awesome(L)

我需要创建一个单行程序,它将获取列表 L 的数字,如果没有一个数字可以被 3 整除并且列表中有一个数字包含数字 1,则返回 True。程序如果其中一个数字可以被 3 整除,或者列表不包含至少一个包含数字 1 的数字,则必须返回 False。 这是我目前所拥有的:

def is_awesome(L):
return [i for i in L if i % 3==0 if "3" in str(i)==True]

【问题讨论】:

  • 您对此有何疑问?有什么不工作?如果是:尝试用不止一行来写出你的算法。如果它工作,开始减少它

标签: python list-comprehension


【解决方案1】:

以下应该有效:

def is_awesome(L):
    return all([i%3!=0 for i in L]) and any(['1' in str(i) for i in L])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2022-11-29
    • 1970-01-01
    相关资源
    最近更新 更多