1

我希望能够从列表中提取最大的奇数。到目前为止,我已经能够根据用户输入创建一个列表,但我无法弄清楚用于提取最大奇数的编码。

这是我到目前为止所拥有的

numberlist=[]
for iteration in range(10):
    number = int(raw_input('Give an integer'))
    numberlist.append(number)
print max(numberlist)

附加信息:使用 Pythong 2.7

4

4 回答 4

3

您可以使用生成器理解最轻松地做到这一点。

max(x for x in numberlist if x&1)
于 2013-03-05T23:42:20.607 回答
0

可能不是最有效的,但是..

numberlist=[1,2,3,4,5,6,7,8,9,10,11,23,17,19]
numerList = filter(lambda x: x %2 > 0, numberlist);
print max(numerList)
于 2013-03-05T23:43:45.693 回答
0

只需使用列表推导来迭代列表,并在调用 max() 时只保留奇数:

numberlist=[]
for iteration in range(10):
    number = int(raw_input('Give an integer'))
    numberlist.append(number)
print max(n for n in numberlist if n & 1)
于 2013-03-05T23:43:03.470 回答
0

您可以使用函数filter从列表中获取赔率。max

print max(filter(lambda x: x % 2 == 1, numberlist))

过滤器使用 lambda 函数仅抓取奇数。

于 2013-03-05T23:43:08.257 回答