前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在列表,字典、集合中筛选数据——进阶学习

如何在列表,字典、集合中筛选数据——进阶学习

作者头像
Gorit
发布于 2021-12-09 07:27:02
发布于 2021-12-09 07:27:02
2.3K00
代码可运行
举报
运行总次数:0
代码可运行

一、筛选数据

引言

生活中, 我们会遇到各种各样的数据,但是总得需要容器去装它们,python中的数据结构——列表,元组,字典就能派上用场,但是数据多了起来,我们有时候需要进行筛选就可以用到下面的一些方法

比如给定一个列表,让我们剔除里面的负数,我们通常想到的是迭代法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[1,22,-4,3,-9,8]

看代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = [1,22,-4,3,-9,8]

b = []
for i in a:
    if(i>0):
        b.append(i)

print(b)

今天就要讲讲其它的办法来解决这些问题

一、列表解决方案

1、 先生成一个随机的列表 2、运用列表解析的方式去实现数据筛选

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import randint

#第一步生成随机数列
data =[randint(-10,10) for _ in range(10)]#在-1010之间随机生成数列
print(data)

#第二步,用列表解析的方式

b = [x for x in data if x>0]
print(b)

我们通过时间对比,第二种方式的效率比第一种高10倍

二、字典解决方案

我们先生成一个字典,比如生成班上学上的成绩,班上有10个人,我们要进行筛选分数及格的同学

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import randint
a = {x:randint(0,100) for x in range(1,26)}
print(a)

有列表解析,同样也有字典解析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import randint
a = {x:randint(0,100) for x in range(1,11)}
print(a)

b = {k:x for k,x in a.items() if x>60}#同时迭代键和值,然后进行判断
print(b)
三、集合解决方案

借用列表解决方案中生成随机列表的例子,我们直接把其转换成集合的形式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import randint
a = [randint(-10,10) for i in range(1,11)]
print(a)

b = set(a) #把列表a变成集合
print(b)

我们再进行一个特殊的筛选,我们要得到能被5整除的数,这里要用到集合解析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from random import randint
a = [randint(-10,10) for i in range(1,11)]


b = set(a) #把列表a变成集合
print(b)
c = {i for i in b if i%3 == 0}
print(c)

方法和列表解析一模一样!!!

所以,你学会了嘛

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/02/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通过wifi调试android程序
转自:http://www.cnblogs.com/sunzhenxing19860608/archive/2011/07/14/2106492.html
forrestlin
2022/04/02
4890
打开网络adb 调试
作为一名android 码农,adb 是要经常用的。 adb 可以使用usb 也可以使用网络。 方法一 adb tcpip 5555 需要 shell权限,且adb 客户端和手机是连通着的 方法二 这个方法是比较麻烦一点,且需要root权限。 root用户执行如下命令 setprop service.adb.tcp.port 5555 //5555 是默认的,这里也要设一下,也可以是自定义 start adbd //启动adbd服务 //注:# stop adbd 命令将会停止 adbd 使用 adb
上善若水.夏
2018/09/28
2.1K0
真.无线调试android设备
Android 4.2.2定制版智能硬件, USB口能插鼠标键盘, 但是不能USB调试。供应商两个方案, 要么开壳找到USB OTG排座, USB口自己接线, 但是开壳会导致硬件功能无法使用; 要么手工打包apk安装到硬件慢慢的toast。
Zeal
2020/11/11
1.2K0
[Android笔记9]使用wifi连接adb打印数据
地址 CSDN 地址:http://blog.csdn.net/xiangyong_1521/article/details/78067139 由于机器的调试与dvr设备公用端口,李冰冰跟范冰冰不可兼得的问题来了,现dvr使用过程中出现了故障,唯一的端口肯定只能给dvr,不知道问题出哪了,讨教了公司所有搞软件的前辈,可能是在dvr设备拔插的不同状态下,储存路径是变了,这就需要在不接usb线的情况下用adb打印了,于是在摸索中,实现了wifi连接adb,通过eclipse实现了打印。 ---- 目录 方法一
项勇
2018/06/19
1.1K0
AndroidTv开发中常用的adb命令
盒子应用开发时,调试比手机上的开发比较麻烦一点,而且需要经常跟 adb 打交道,不管是 wifi 连接调试,还是应用删除安装等。这里记录一些常用的操作,方便查阅。
请叫我大苏
2018/05/17
1.2K0
Android ADB调试之无线连接设备
一、数据线连接手机和电脑(首次设置需数据线连接),开启开发者模式和USB调试,确保手机和电脑已连接
王大力测试进阶之路
2019/10/25
5.7K1
Android ADB调试之无线连接设备
羊皮书APP(Android版)开发系列(九)通过Wifi调试程序
通过Wi-Fi来调试程序虽然很简单,但是还有很多人不会。很多时候使用数据线直接连接电脑显得很不方便,这个时候我们就可以考虑通过WIFI来调试我们的程序,具体方法如下: 手机连接电脑,并且手机启用usb调试的模式,跟平常使用usb调试程序一样的步骤。 进入android-sdk的文件夹,就是平时要你重启adb的地方,即:platform-tools,我的地址为:/Users/wangjie/wangjie/android-sdk/platform-tools 打开命令行 ./adb tcpip 5555
热心的程序员
2018/08/30
5220
Android自动化测试基础 -- ADB介绍
每一个准备学习Android自动化测试的同学,都会面临一个Android自动化测试框架的选择问题。与之前PC和WEB的测试框架不同,Android的自动化框架乍一看,非常的唬人。接踵而来的问题就是:怎么能有这么多呢,到底要选择哪一个呢?
上帝De助手
2019/09/18
1.3K0
Android自动化测试基础 -- ADB介绍
ADB调试篇
1.首先在手机上开启USB调试功能,并安装驱动(这一步很多手机助手都可以完成)。 2.用USB电缆连接手机和电脑。 3.确保手机和电脑在一个局域网内,简单的说就是电脑和手机共用一个路由器,网段一样。 4.打开电脑上CMD窗口,输入以下命令: adb tcpip 5555(该命令打开手机adb网络调试功能) 正常情况下输入命令后控制台会出现回显 restarting in TCP mode port: 5555 打开手机查看手机的IP地址(不会请百度)假设手机的地址是192.168.1.x 输入命令 adb connect 192.168.1.x 如果一切正常控制台会回显以下内容 connected to 192.168.1.x:5555 如果你想查看是否连接成功请输入以下内容 adb devices 控制台会回显连接的设备 5.如果一切连接成功,请拔掉USB电缆,选择File->Build&Run,在编译之前要勾选上Development Build 和Script Debugging这两项(在build setting里面勾选不要忘记否则是不能调试的)电脑会自动编译文件并将APK推送至手机,在手机上同意并安装。 6.当程序运行后再Monodevelop里面打开Run->Attach to process 会发现你手机的选项,选择手机,在脚本里面添加断点,你发现可以调试了
bering
2020/05/18
1.5K0
ADB调试篇
使用 Kotlin Compose Desktop 实现了一个简易的"手机助手"
adbd-connector 是一个实现 adb server 和 adb daemon 之间的通信协议的库,使用 Kotlin 编写。支持 PC 端直接连接 Android 设备操作 adb 相关的指令。
fengzhizi715
2022/06/27
1.3K0
使用 Kotlin Compose Desktop 实现了一个简易的"手机助手"
玩转ADB命令(ADB命令使用大全)
我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,更深的就不知道了,其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到,比如,我们知道adb install 却不知道adb shell am start。前者是用来安装软件,后者用来打开软件,后者的一个使用场景让我对他重视:公司定制Android系统,在调试屏幕的时候要看是否满屏验证驱动是否正常,比较麻烦的做法是要拿到Android开发者手里用eclipse或者其他ide安装打开。显然相对于驱动人员连上数据线使用adb命令要复杂得多。因此,了解多一点还是很有必要的。
全栈程序员站长
2022/08/27
9.7K0
玩转ADB命令(ADB命令使用大全)
ADB的基本语法及常用命令
输出格式为 [serialNumber] [state],serialNumber即我们常说的SN,state有如下几种:
越陌度阡
2024/05/24
8040
ADB的基本语法及常用命令
盘点Python编程的简易版自动化工具——ADB史上全操作
ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
前端皮皮
2021/05/18
2.2K0
盘点Python编程的简易版自动化工具——ADB史上全操作
Android4 漏洞环境简单挑战
今天给各位分享的是一个Android虚拟机环境的简单渗透。按照我们一般的渗透流程大概分为:
墙角睡大觉
2019/09/24
1.6K0
Android4 漏洞环境简单挑战
安卓设备无线调试
负责安卓开发测试的同学们,在应用调试时经常需要使用数据线连接PC和手机,但是数据线携带成本高、易丢失。下面小编就介绍一种不用数据线就可以对安卓设备进行调试的方法,解决使用中的困扰。
用户5521279
2020/06/28
1.1K0
APP自动化测试系列之adb连接真机和模拟器
点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 08:30准时推送,每月不定期赠送技术书籍。
可可的测试小栈
2020/09/23
3.2K0
APP自动化测试系列之adb连接真机和模拟器
adb安装使用
adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。简单的说就是可以通过电脑端的命令行控制手机或者手机模拟器,例如可以控制手机的点击、滑动、安装应用、打开应用、关闭应用、输入文字等。(只适用于安卓手机)
全栈程序员站长
2022/08/29
3.9K0
adb安装使用
ADB远程调试+投屏
这里投屏可以使用上面的远程调试,也可以用USB先连接,只要adb devices中有设备就行
sugarbeet
2022/09/26
8.3K0
ADB远程调试+投屏
Android 调试桥 (adb)
adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
云深无际
2021/04/14
5.4K0
Android 调试桥 (adb)
市场上十块钱买一个随身WiFi使用技术手段,插卡流量不限速不限量?
前几天在逛某论坛,发现有人在薅随身WiFi,而随身WiFi竟然是安卓系统,能进系统界面。跟风买了一个来折腾。 网上能插卡的随身WiFi一般都是几十块,有的便宜的随身WiFi免插卡的其实是了里面内置esim物联卡了,实际上也是可以插卡,随身WiFi的成本应该不止售价那么点,商家应该是想靠流量赚钱。有的商家为了防止不购买他的套餐而加了限制或者直接把卡槽去掉了。
全栈程序员站长
2022/09/06
11.1K0
市场上十块钱买一个随身WiFi使用技术手段,插卡流量不限速不限量?
相关推荐
通过wifi调试android程序
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档