Python filter、map、eval内置函数

# filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
# 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
def test(n):
    return n%2==1

new=filter(test,[1,2,3,4,5,6,7,8,9])
print(new)
print([i for i in new])
# <filter object at 0x000002013A3B9588>
# [1, 3, 5, 7, 9]


# map() 会根据提供的函数对指定序列做映射。
# 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
def test(x,):
    return  x*2

new=map(test,[1,2,3,4,5])
print(new)
print([i for i in new])
# <map object at 0x000002013A3B94E0>
# [2, 4, 6, 8, 10]

# eval() 函数用来执行一个字符串表达式,并返回表达式的值。
test='[1,2,3,4,5]'
a=eval(test)
x=1
y='x+1'
s=eval(y)
print(a,type(a),s)
# [1, 2, 3, 4, 5] <class 'list'> 2

 

posted on 2020-10-13 15:23  HHMLXL  阅读(169)  评论(0)    收藏  举报

导航