需要对python语句有更多的了解:-return [“ even”,“ odd”] [num%2]

时间:2019-12-11 12:27:46

标签: python list

有人可以帮助我准确理解下面的python语句中的逻辑工作原理吗?

return ["even", "odd"][num % 2]

此函数正确返回偶数/奇数值。

4 个答案:

答案 0 :(得分:7)

["even", "odd"]是一个包含两个元素的列表,因此索引为0和1。

它被[]索引(num % 2)。

如果num是偶数,则num % 20,而["even", "odd"][0]"even"

如果num为奇数,则num % 21,而["even", "odd"][1]"odd"

答案 1 :(得分:2)

$remember符号是mathematical modulus function%将在num为偶数时返回0,在num为奇数时返回1。然后,该值用于返回num % 2的相应元素。

答案 2 :(得分:2)

它只是返回一个字符串。列表$services = $request->except('_token'); foreach ($services['services_selects'] as $id => $value) { DB::table('services')->insert(['service_id' => $value]); } 中的适当值是使用余数(["even", "odd"])提取的。

例如,假设num%2为4。因此,num为0。在这种情况下,将返回列表的第0个元素(即num%2)。

现在,如果even为5,则余数将为1,并将返回位置1的字符串(在这种情况下为num)。请注意,即使对于负数,odd也没有其他可能的结果,因此没有机会访问超出范围的索引。

答案 3 :(得分:1)

numbers_list = list(range(10))
def odd_even(any_list):
    odd = []
    even = []
    for element in any_list:
        if element % 2 == 0:
# 10 % 2 = 0, 10 % 3 = 1, 10 / 4 = 2(2) => 10 % 2 = 2
            even.append(element)
        else:
            odd.append(element)
    return odd, even
# there are two way for answers. first - when element % 2 = 0 , so this is even number
# and second - when element % 2 = 1, so this is odd number

print(odd_even(numbers_list))

# if we'll want to run the code output will like this:
# ([1, 3, 5, 7, 9], [0, 2, 4, 6, 8])