我是 Python 的新手,我发现了下面这个解决 CodeWars 问题的方法:
def odd_or_even(arr):
return ('even', 'odd')[sum(arr) % 2]
我用列表推导式解决了我的问题,但这是一种对我有限的理解而言陌生的Pythonic概念,你能解释一下
(..)[...]
的组合互动吗?我是 Python 的新手,我发现了下面这个解决 CodeWars 问题的方法:
def odd_or_even(arr):
return ('even', 'odd')[sum(arr) % 2]
(..)[...]
的组合互动吗?这只是对元组进行索引。
t = ('even', 'odd')
print(t[0]) # 'even'
他们使用模运算的结果作为索引来访问元组中的元素,因为% 2
的结果总是0或1。
我不会这样用。我认为他们试图通过这种方式显得高级。
arr
中元素的总和返回“even”或“odd”。你为什么认为他们想要看起来花哨? - Pranav Hosangadi(...)[...]
这种组合是如何工作的。 - Ricardo Sanchez
sum(arr)
是什么意思?sum(arr) % 2
是什么意思?当您索引元组项时,会得到什么? - Pranav Hosangadi