python 学习笔记(一):在列表、字典、集合中根据条件筛选数据
一、在列表中筛选数据
在列表中筛选出大于等于零的数据,一般通用的用法代码如下:
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函数:
from random import randint
#生成一个包含10个随机数的列表,每个元素的取值范围在-10到10之间
data = [randint(-10, 10) for _ in range(10)]
#filter函数的第一个参数是过虑函数,通常使用lambda匿名函数,第二个参数是要过滤的列表
result = filter(lambda x: x >=0, data)
print(result)
2、列表解析:
...
result = [x for x in data if x >= 0]
...
二、在字典中筛选数据
在字典中根据值来筛选数据,下面的例题是筛选出分数大于等于90分同学的代码:
from random import randint
#同学姓名列表,用字母简化代表同学姓名
students = ['x', 'y', 'z', 'a', 'b', 'c', 'g', 'k', 'j']
#迭代循环姓名列表,随机生成每个同学的分数
data = {s: randint(60, 100) for s in students}
#根据分数来筛选过滤字典中的每个元素
result = {k:v for k, v in data.items() if v >= 90}
print(result)
三、在集合中筛选数据
在集合中筛选数据的操作和字典非常相似,只是略去键值之间的冒号。下面是在集合中筛选出能整除3的元素的代码:
from random import randint
#生成包含20个随机数的列表,元素的取值范围为1到100之间
data = [randint(1, 100) for _ in range(20)]
#将列表转换为集合,去除重复元素
my_set = set(data)
#筛选出能整除3的元素
result = [x for x in my_set if x%3 == 0]
print(result)
python 学习笔记(一):在列表、字典、集合中根据条件筛选数据的更多相关文章
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...
- Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据
Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...
- 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧
实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...
- python数据结构-如何在列表、字典、集合中根据条件筛选数据
如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...
- Py小技巧一:在列表,字典,集合中根据条件筛选数据
1.过滤掉列表中的某些项---列表解析 data=[1,4,2,8,5,-1] res=[] a.依次迭代列表中每一个项 for x in data: if >=0: res.append(x) ...
- python3编程技巧二——如何在列表、字典、集合 中根据条件筛选数据
一.列表筛选数据 # coding=utf-8 from random import randint # 创建随机列表 l = [randint(-10, 10) for i in range(10) ...
- python基础===如何在列表,字典,集合中根据条件筛选数据
#常见的操作如下: data = [1, 5, -3, -2, 6, 0, 9] res = [] for x in data: if x>=0: res.append(x) print(res ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- python学习笔记(一)、列表和元祖
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
随机推荐
- 爱搞事情的webpack
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler). 当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...
- hive元数据
本文介绍Hive元数据库中一些重要的表结构及用途,方便Impala.SparkSQL.Hive等组件访问元数据库的理解. 1.存储Hive版本的元数据表(VERSION) 该表比较简单,但很重要. V ...
- hive传递参数与调用
在运行hive命令时传入参数,使用-hivevar 和 -hiveconf 两种参数选项,来给此次的执行脚本传入参数 -hivevar : 传参数 ,专门提供给用户自定义变量. -hiveconf : ...
- URAL 2092 Bolero 贪心
C - Bolero Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- noi.ac #528 神树和排列
题目链接:戳我 #include<iostream> #include<cstring> #include<cstdio> #include<algorith ...
- 小程序 swiper 轮播图滚动图片 + 视频
直奔代码主题wxml: <view class="test_box"> <swiper indicator-dots="{{indicatorDots} ...
- nginx配置跨域问题
1.跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制. 2.浏览器在执行脚本的时候,都会检查这个脚本属于哪个页面,即检查是否同源,只 ...
- BeautifulSoup4 提取数据爬虫用法详解
Beautiful Soup 是一个HTML/XML 的解析器,主要用于解析和提取 HTML/XML 数据. 它基于 HTML DOM 的,会载入整个文档,解析整个 DOM树,因此时间和内存开销都会大 ...
- 使用matplotlib绘制常用图表(2)-常用图标设置
一.使用subplots绘制子图 import numpy as np from matplotlib import pyplot as plt %matplotlib inline x = np.a ...
- easyui datagrid的API
本文可以当做api来使用 动态编辑用到DOM解析的话参考 http://www.w3school.com.cn/xmldom/dom_htmlcollection.asp 使用方法(Usage Exa ...