Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析.字典解析和集合解析: 3.学会使用随机数的库生成测试用例: 4.学会使用列表生成式创建列表. 列表生成式即 List Comprehensions ,是 Python 内置的非常简单却强大的可以用来创建 list 的生成式. 知识点与例题讲解 下面我们给出几种在列表.字典集合中筛选数据的解决方案:…
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) filter(lambda x:x>,data) 3,列表推倒式 4,效率对比:还是列表推导式稍高 二:字典 1,跟列表类似,推导式 先生成随机的字典(key从1-20) 过滤掉value是负数的值 三:集合 随机生成10个元素的集合 过滤掉小于0的元素,跟字典类似…
实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89,32,20..}中能被3整出的元素 ---最通用方法,FOR循环迭代,加上if判断进行过滤 例如: 这样写的问题:  在Python里显得很啰嗦,效率也很差! 解决方案--- 列表  列子:  列表解析: '''filter函数filter(,)接收2个参数,第一个,传入一个过滤函数,通常用lamb…
如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, "wangwu":60, "liqiang":91}中的值高于90的键值对 筛选集合{89, 70, 60, 80, 90}中能被3整除的元素 列表 一般遇到这种问题,我们首先会想到用for循环的方式去解决 (1)for循环 from random import randin…
一.在列表中筛选数据 在列表中筛选出大于等于零的数据,一般通用的用法代码如下: data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表 result = [] #存放筛选结果的列表 for x in data: #依次迭代循环每个元素 if x >= 0: #判断是否符合筛选条件 result.append(x) #大于等于零就将该元素加入结果列表中 print(result) #打印输出 在python 中还有更加简洁高效的方法: 1.filter…
1.过滤掉列表中的某些项---列表解析 data=[1,4,2,8,5,-1] res=[] a.依次迭代列表中每一个项 for x in data: if >=0: res.append(x) print res b.使用lambda表达式来进行过滤 form random import randint data = [randint(-10,10)for _ in xrange(10)] filter(lambda x: x>=0,data) c.使用列表解析俩进行过滤 [x for x…
一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10)] print(l) # 通过列表解析过滤大于0的数据 r = [x for x in l if x >= 0] print(r) # 通过filter函数过滤大于0的数据 r2 = filter(lambda x: x >= 0, l) # filter在python2中直接返回列表,在pyth…
#常见的操作如下: data = [1, 5, -3, -2, 6, 0, 9] res = [] for x in data: if x>=0: res.append(x) print(res) from random import randint #生成(-10,10)随机的十位列表 list_1 = [randint(-10, 10) for _ in range(10)] #第一种方法 list_2 = list(filter(lambda x: x>=0,list_1)) print…
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>> names[2] 'Eric' >>>…
  定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7-9j] 1.list(str):将str转换成list类型,str可以使字符串也可以是元组类型 2.aList.append('test'):追加元素到列表中去 3.del aList[1]:删除列表中下标为1的元素 del aList:删除整个列表 4.cmp(list1,list2):比较两…