2022-04-15 filter 和 sorted

2022-04-15  本文已影响0人  布瓜浩_albert

Python内建的filter()函数用于过滤序列

和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

# 回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数:

def is_palindrome(n):

    n = str(n)

    return n == n[::-1]

# 测试

output = filter(is_palindrome, range(1,1000))

print('1~1000:', list(output))

Python内置的sorted()函数就可以对list进行排序

>>> sorted(['bob','about','Zoo','Credit'], key=str.lower, reverse=True)

['Zoo','Credit','bob','about']

# 假设我们用一组tuple表示学生名字和成绩:

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

def by_name(t):

    return t[0]

L2 = sorted(L, key=by_name)

print(L2)

def by_score(t):

    return t[1] - 100

L2 = sorted(L, key=by_score)

print(L2)

上一篇 下一篇

猜你喜欢

热点阅读