[英]I am trying to find out the result shown below with list comprehension:
我试图通过列表理解找出下面显示的结果:
def X(numbers):
result = []
for i in numbers:
if i > 5:
result.append('higher')
else:
result.append('lower')
return result
numbers=[8,3,7]
assignment_02a(numbers)
答案: ['higher', 'lower', 'higher']
我试过这段代码:
[i>5 for i in range(4,8) ]
我得到了这个: [False, False, True, True]
我希望 output 为: ['lower', 'lower', 'higher', 'higher']
如果您仔细阅读,请参阅那里的链接,您可以找到解决此问题的方法。
number = [8,3,7]
numbers = ["Higher" if i>=5 else "Lower" for i in number]
print(numbers)
Output: ['Higher', 'Lower', 'Higher']
或者按照您的要求使用范围:
numbers = ["Higher" if i>5 else "Lower" for i in range(4,8)]
print(numbers)
Output: ['Lower', 'Lower', 'Higher', 'Higher']
好吧,您的列表比较 function 仅对更高/更低进行测试,但不替代结果。 您可以通过多种方式做到这一点,但为了符合事物的精神,您可以将字符串从 map 中移开。
[{True: "Higher", False: "Lower"}[i>5] for i in range(4,8)]
您可以使用map
function 和lambda
来获得幻想,但这应该说明这个想法。
[{True:'higher', Talse:'lower'}[i>5] for i in range(4,8)]
如果您得到True
或False
,那么只需将这些值与字典一起使用。 这意味着:
True
返回'higher'
False
返回'lower'
[i>5 for i in range(4,8) ]
返回是否i > 5
。 如果我们使用 dict 那么True
与'higher'
相关,因此我们将其返回,而False
与'lower'
相关,因此我们将其返回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.