【发布时间】:2020-03-19 16:57:42
【问题描述】:
有没有一种pythonic方法可以找出哪个数字的均匀度与其他数字不同?
例如:
输入:"2 4 7 8 10" => 输出:3 // 第三个数字是奇数,其余数字是偶数
input: "1 2 1 1" => 2 // 第二个数字是偶数,其余数字是奇数
下面是我的方法,其中numbers 是str 的输入:
def evenness(numbers):
bool_number = list(map(lambda i: i%2==0, map(lambda i: int(i), numbers.split(" "))))
if bool_number.count(True) == 1:
return bool_number.index(True)+1
else:
return bool_number.index(False)+1
谢谢
【问题讨论】:
-
'1 3 5 2 4 8'的输出是什么? -
嗨@Ch3steR,目前我没有相同数量的偶数和奇数的测试用例,如果字符串中有多个偶数/奇数。但是感谢您的提醒,我也必须涵盖它们。
-
您可以edit该问题并添加所有相关信息。
-
那么您是否希望所有索引在其均匀度上都处于“关闭”状态。例如:“2 4 7 8 9” 偶数比奇数多,所以你希望两个索引都是奇数吗?
标签: python python-3.x list list-comprehension