从列表中选择特定的整数

时间:2013-03-05 23:36:41

标签: python

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

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

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

其他信息: 使用Pythong 2.7

4 个答案:

答案 0 :(得分:3)

你可以通过生成器理解最容易地做到这一点。

max(x for x in numberlist if x&1)

答案 1 :(得分: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)

答案 2 :(得分:0)

您可以使用filtermax函数中的列表中获取赔率。

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

过滤器使用lambda函数只捕获奇数。

答案 3 :(得分: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)