技术标签: python骨灰技巧
Python作为一门灵活、充满技巧的语言,有着很多奇技淫巧,今天小编就跟大家分享一下 小编在平时的学习工作中所积累的技巧,这里面既有语法上的技巧,也有库函数的应用,可以帮助大家在平时的工作中提升效率,规避某些错误,一起来看看吧。
01.列表内容转字符串
在日常工作中,经常会遇到将列表转换为字符串的情况,而列表中会存在字符串、数字等类型的数据,通过map将列表中元素转换成str类型,然后通过join函数就可以完成列表到字符串的转换。
02.频率统计
在进行数据分析时,经常会用到频率统计,通过Python内置库collections中的Counter函数,可以快速实现频率统计。
3.繁体字转简体字
通过langconv.py和zh_wiki.py两个脚本,就可以实现繁体字转简体字的函数。
4.文件查阅
通过glob库可以查询某文件夹下所有的文件,然后通过对文件的类型进行判断,可以输出某些特定类型的文件。
5.变量交换
变量交换,是很多编程语言容易掉进去的坑,但是在Python语言中,可以很轻松的实现变量交换。
6.可变的默认参数
7.时间戳转日期
在进行时间的处理时,常常会用到时间戳和时间的转换,利用time库中的函数,可以帮助我们快速实现时间戳的转换。
8.字典值得获取
在字典数值获取时,我们有时候不知道字典中是否有某个键值,利用get函数来进行获取,如果有的话,就返回数值,如果没有的话就返回默认值(上述默认值为0)。这样便会提升程序的 鲁棒性。
9.获取列表中出现次数最多的元素
对于列表中出现最多元素的获取,可以利用列表的数量统计来判断,也可以利用Counter来实现。
10.变量类型、地址和内存占用量
通过type、id和sys.getsizeof可以分别查看变量的类型、地址和占用的字节大小。
11.随机验证码的生成
对于随机验证码的生成,可以有很多的变化,例如随机字母,数字的组合,在 平时的工作中也会经常用到。
12.中文提取
通过正则表达式的匹配,可以在复杂的文本中提取中文词句,提升效率。
13.巧用eval函数
eval是P ython的内置函数,它的作用是将传入字符串的表达式进行结果计算,并返回结果。
14.进度条的显示
对于进度条的显示,可以利用progressbar库或者是tqdm库两种方式进行实现。
15.用列表“找茬”
通过set和Python中的位运算,一行代码就可以筛选出两个不同的列表之间相同的元素和不同的元素,非常的方便。
16.利用好zip
利用zip函数,可以将两个列表合并成字典,或者是直接对两个列表的数值进行操作,需要注意的是,zip函数会以长度小的列表为基准来进行操作。
17.字符串的反转
对于字符串的反转,可以采用切片处理,或者利用Python内置的reversed函数来实现。
18.匿名函数
匿名函数可以让我们在函数定义时不需要显式的定义函数,同样 可以完成常规函数的功能。
19.去除列表中重复元素
在列表去重中要善于利用set的特性来帮助我们去除重复的元素。
20.安全的打开文件
在程序中,对于文件流对象的使用,为了防止文件打开失败,或者是文件使用完毕后忘记调用close函数来关闭流对象,建议大家使用with...as的方式来打开文件,这样在with语句块使用完毕后,程序会自动帮助我们关闭文件。
同时在文件调用时,建议大家根据不同的文件调用方式来命名,例如对于文件读取使用“fr",文件的写入使用"fw",文件末尾插入采用"fa"来命名,方便自己来区分。
总结
以上就是小编为大家分享自己所收藏的 20个奇技淫巧,大家还有什么Python的技巧呢,欢迎在下方留言,吱一声哦。
菜鸟编程大本营,已经正式上线
专注于分享趣味的编程技巧,不限于Java, Python ,Go, Java等语言,让菜鸟爱上编程,进阶成为高手,欢迎关注。
菜鸟编程本营,从菜鸟进阶高手
点这里,获取新手福利
!!
文章浏览阅读629次。这是个模糊搜索框,但是我要怎么做才能获取到下拉列表的中被填入input框中的值呢?比如说我输入pc,然会出来这些pc号码,我用键盘里的方向键或者鼠标点击其中一个pc4,这样input框就会显示pc4同时下拉菜单被收起来,问题就是我要怎么获取到这个input框中的pc4这个值呢???对了 我这些数据是从后台请求过来的,包括整个搜索框都是用js代码动态建立的,所以我本来是想用alert($("#sea..._获取input里面的值点击搜索按钮搜索相应的信息
文章浏览阅读2.5k次,点赞7次,收藏15次。概要:这篇主要介绍是配置ros2环境.环境:ubuntu20.04,ros2-foxy,vscode2.1.1配置ros2环境(原文:https://docs.ros.org/en/foxy/Tutorials/Configuring-ROS2-Environment.html)>>教程>>配置ros2环境你正阅读的是ros2较老版本,但仍然支持的说明文档.想查看最新版本的信息,请看galactic版本链接( https://docs.ros.org/en/galactic/_ubuntu ros2 domain_id
文章浏览阅读1k次,点赞16次,收藏21次。JS中用于处理异步操作的编程模式。一个Promise是一个代理,它代表一个创建Promise时不一定已知的值。它允许我们将处理的程序与异步操作的最终成功值或失败值原因想关联起来。这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个Promise,以便在将来的某个时间点提供该值。_说说你对promise的理解
文章浏览阅读998次。下载文件链接: https://pan.baidu.com/s/1FiENCHjIMu-Unc1v36muAQ 提取码: v9q6打开配置就可以了_win10家庭版自带虚拟机怎么用
文章浏览阅读3.2k次。主要的输入输出格式名描述w.d标准的数值数据型格式$w.标准的字符数据型格式COMMAw.d含有逗号、小数点的数值数据型格式DOLLARw.d含有美元号$、逗号和小数点的数值数据型格式DATEw.日、月份、年形式的日期值(ddmmmyy),例如w=7时,18jan97; w=9时,18jan1997MMDDYYw.月份、日、年形式的日期值(mmddyy),例如,w=8时,01/18/97; w=6..._不同格式sas日期之间的转换
文章浏览阅读1.4w次,点赞10次,收藏47次。Android实现简单闹钟Android实现简单闹钟简单的时间格式转化日期选择时间选择确定时间后开启服务在服务里使用AlarmManager定时在AlarmManager里设置到点发送一条广播实现一个BroadcastReceiver接收到定点的广播后发送一条通知简单的时间格式转化 private static String midStr1 = ""; private
文章浏览阅读93次。技术博客中使用WP-Syntax将代码高亮是最常见的。而一段时间不用总会忘记每种语言的的pre标签的值。这里简单介绍下,WP-Syntax 是一个针对 Wordpress 的代码高亮插件,最大的优点是简单易用,兼容性非常好。由于安装好后,后台编辑器不会出现相应的按钮。所以网上有很多网友通过修改 \wp-includes\js\quicktags.js 这个文件来实现添加相应的按钮,方便编辑。..._wp-syntax设置
文章浏览阅读4.2k次。随机IP:#定义4个0-255的随机数字,然后用.将四个随机数拼接起来m=random.randint(0,255)n=random.randint(0,255)x=random.randint(0,255)y=random.randint(0,255)randomIP=str(m)+’.’+str(n)+’.’+str(x)+’.’+str(y)随机数字:randomInt=ra..._"print(\"0x%02x\" % secrets_generator.randint(0,255), end="
文章浏览阅读2k次,点赞3次,收藏5次。配置DCC拨号接口属性拨号接口(包括物理拨号接口和Dialer接口)一旦创建,就会被赋予一系列属性参数的缺省值,因此本项配置任务为可选。①链路空闲时间设置当链路空闲超过了指定时间后,DCC将断开链路。这个空闲时间也即是链路中不存在符合拨号访问控制列表的permit条件的报文传送时间。②下次呼叫发起前的链路断开时间当DCC呼叫链路因故障或挂断等原因导致进入断开状态,必须经过指定时间后才能建立新的拨号连接(即进行下一次呼叫的间隔时间),从而避免对端PBX设备过载。③接口竞争时的链路空闲时_dialer-rule
文章浏览阅读692次,点赞9次,收藏11次。不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。
文章浏览阅读500次。Java经典面试(三)一、java基础字符串常量Java内部加载-上二、JUC三、Spring四、Redis五、补充和总结一、java基础字符串常量Java内部加载-上代码:public class StringPoolDemo { public static void main(String[] args) { String str1 = new StringBuffer("mei").append("tuan").toString(); System.ou_map positions = memorytest(numbers)
文章浏览阅读810次。目的:本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。实例:模拟new失败的程序:#include class ABC{public:virtual ~ABC(){}int i;int j;};void f(){for (int i = 0; i < 1000; ++i){ABC..._linux内存被踩的解决