我正在尝试if
用Python 3编写一条语句:
if n % 2 == 0:
list.append(2)
elif n % 3 == 0:
list.append(3)
elif n % 5 == 0:
list.append(5)
有更节省空间的方法吗?我考虑过使用lambda表达式,但是这些代码似乎不起作用。
if (lambda i: n % i == 0)(i in [2,3,5])
list.append(i)
和
if (lambda i: n % i == 0)([2,3,5])
list.append(i)
有没有办法使用lambda表达式来做到这一点?还是我需要其他方法?另外,如果我使用lambda表达式,是否可以使用条件匹配的i的值(例如将其追加到列表中)?
>>> n = 33
>>> [i for i in (2, 3, 5) if n % i == 0]
[3]
>>> n = 10
>>> [i for i in (2, 3, 5) if n % i == 0]
[2, 5]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句