num_list = [11,2,-33,10,7,3,5,43]

  1、filter  函数

    获取num_list大于5的元素,并返回列表

    用lambda表达式实现:

      # 在python2 中 filter返回的是一个列表,可以用for遍历

      # 在python3 中 filter返回的是一个filter对象,可以用for遍历,也可以用list转换为列表

      list2 = list(filter(lambda x: x>5, num_list))

      print(list2) #输出:[11, 10, 7, 43]

    用列表推导式实现:

      list2 = [x for x in num_list if x >5]

      print(list2) #输出:[11, 10, 7, 43]

  2、map 函数

    给num_list的所有元素都乘以2,并返回列表

    用lambda表达式实现:

      # 在python2 中 map返回的是一个列表,可以用for遍历

      # 在python3 中 map返回的是一个map对象,可以用for遍历,也可以用list转换为列表

      list3 = list(map(lambda x: x*2, num_list))

      print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]

    用列表推导式实现:

      list3 =[x*2 for x in num_list]

      print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]

  3、Reduce函数

    引入:from functools import reduce

    计算num_list所有元素之和

    list4 = reduce(lambda x,y: x+y, num_list)

    print(list4) #输出 :48

  4、列表推导式

    获取num_list列表中大于0的元素并执行平方操作

    squared_list = [x**2 for x in num_list if x >0]

    print(squared_list)  #输出 :[121, 4, 100, 49, 9, 25, 1849]

  5、list join操作

    binfo = ['lao','wang','python']

    content = " ".join(binfo)

    print(content)  #输出 :lao wang python

    content = ";".join(binfo)

    print(content) #输出 :lao;wang;python

    

python3 map,filter和列表推导式的更多相关文章

  1. Python3 三元表达式、列表推导式、生成器表达式

    Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == ...

  2. 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  3. Python里的map、reduce、filter、lambda、列表推导式

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  4. Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  5. 第7条:用列表推导式来取代map和filter

    核心知识点: 1.列表推导式要比内置的map和filter函数清晰,因为它无需额外编写lambda表达式. 2.列表推导式可以跳过输入列表中的某些元素,如果改用map来做,那就必须辅以filter方能 ...

  6. 列表推导式、生成器表达式以及zip()max()max()/min()sum()sort()map()filter()的用法

    列表推导式: 基本格式: variable = [out_exp_res for out_exp in input_list if out_exp == 2] #out_exp_res: 列表生成元素 ...

  7. python3列表推导式和生成器。

    1.把一个字符串变成 Unicode 码位的列表 >>> symbols = '$¢£¥€¤' >>> codes = [] >>> for sy ...

  8. Python2和Python3中列表推导式的不同

    Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] ...

  9. Python2中的列表推导式存在变量泄漏问题,在Python3中不存在

    列表推导式(list comprehension) Python2: >>> x = 'my homie' >>> dummy = [x for x in 'ABC ...

随机推荐

  1. 【BZOJ-4031】小z的房间 Matrix-Tree定理 + 高斯消元解行列式

    4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 937  Solved: 456[Submit][Statu ...

  2. input文字颜色、光标颜色

    <input type="text" placeholder="输入框"> input{ color: red;/*输入文字.光标颜色*/ -web ...

  3. FireDAC 下的 Sqlite [6] - 加密

    主要就是设置 TFDConnection 的两个链接参数: Password, NewPassword, 非常简单. const dbPath = 'C:\Temp\SQLiteTest.sdb'; ...

  4. OpenVPN推送默认路由表

    根据官方Server配置文件:https://github.com/OpenVPN/openvpn/blob/master/sample/sample-config-files/server.conf ...

  5. Gson通过借助TypeToken获取泛型参数的类型的方法(转)

    最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下. 由于Java泛型的实现机制,使 ...

  6. Oracle初始化参数之memory_target

    一.引言: Oracle 9i引入pga_aggregate_target,可以自动对PGA进行调整: Oracle 10g引入sga_target,可以自动对SGA进行调整: Oracle 11g则 ...

  7. ZOJ 2702 Unrhymable Rhymes 贪心

    贪心.能凑成一组就算一组 Unrhymable Rhymes Time Limit: 10 Seconds      Memory Limit: 32768 KB      Special Judge ...

  8. Revit Family API 添加类型

    FamilyManager.NewType("");添加新类型,然后设置参数,就是为新类型设置参数. [TransactionAttribute(Autodesk.Revit.At ...

  9. delphi 主线程向子线程发送消息

    while True do begin if not PeekMessage(msg,0,0,0,PM_REMOVE) then begin case MsgWaitForMultipleObject ...

  10. dotnetty 心跳

    IdleStateHandler 需要提供三个参数: readerIdleTimeSeconds, 读超时. 即当在指定的事件间隔内没有从 Channel 读取到数据时, 会触发一个 READER_I ...