python删除列表中的偶数

您所在的位置:网站首页 python找出下标为偶数的元素,并从列表中删除 python删除列表中的偶数

python删除列表中的偶数

2024-07-16 12:27| 来源: 网络整理| 查看: 265

我试图更好地理解Python中的列表理解.我在代码战中完成了一个在线挑战,并提供了一个相当不优雅的解决方案,如下所示.

挑战是:

>给出偶数和一个奇数的列表,返回奇数

>给出一个奇数和一个偶数的列表,返回偶数

我(不优雅)的解决方案是:

def find_outlier(integers):

o = []

e = []

for i in integers:

if i % 2 == 0:

e.append(i)

else:

o.append(i)

# use sums to return int type

if len(o) == 1:

return sum(o)

else:

return sum(e)

哪个工作正常,但似乎是相当蛮力.我认为用o和e这样的占位符列表开始(大多数)函数是非常“noob-like”我错了吗?

我希望更好地理解为什么这个解决方案适用于奇数列表,但是在偶数列表中失败,以便更好地理解列表理解:

def find_outlier(integers):

if [x for x in integers if x % 2 == 0]:

return [x for x in integers if x % 2 == 0]

elif [x for x in integers if x % 2 != 0]:

return [x for x in integers if x % 2 != 0]

else:

print "wtf!"

o = [1,3,4,5]

e = [2,4,6,7]

In[1]: find_outlier(o)

Out[1]: [4]

In[2]: find_outlier(e)

Out[2]: [2, 4, 6]

Out [2]应该返回7.

提前感谢任何见解.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3