什么是完成这个简单任务的有效方法?

时间:2018-01-26 15:38:48

标签: python python-3.x python-2.7 list

5048,3293,5242,3290,5244,3411,5050,3414

在这个例子中,5048-5242-5244-5050来自同一个“家庭” 同样适用于3293-3290-3411-3414基本上它是其他所有术语。 我希望和期望的最终结果是第二个家族中最高的第一个“家族”中最高的一个,而最低的那个下面的最低点具有以下最终结果。

['5242', '3414', '5048', '3290']

可以使用2个列表轻松完成,每个列表都有一个+2索引,一个从0开始,另一个从1开始等等。但实际上有效的pythonic方法是什么。

1 个答案:

答案 0 :(得分:0)

我会这样做:

numbers = [5048,3293,5242,3290,5244,3411,5050,3414]

f3 = [n for n in numbers if str(n)[0] == '3']
f5 = [n for n in numbers if str(n)[0] == '5']

newList = [max(f5), max(f3), min(f5), min(f3)]