写点什么

15 个提高效率的 Python 编程技巧

2020 年 3 月 13 日

15个提高效率的Python编程技巧


每次写 Python 都会忘记该怎么写,最后只能去 Stack Overflow 查?我也一样。时间一长,这让人厌倦。


这 15 个 Python 技巧和窍门,可以帮你提高效率。


1.交换值


x, y = 1, 2print(x, y)x, y = y, xprint(x, y)
复制代码


2.字符串列表合并为一个字符串


sentence_list = ["my", "name", "is", "George"]sentence_string = " ".join(sentence_list)print(sentence_string)
复制代码


3.将字符串拆分为子字符串列表


sentence_string = "my name is George"sentence_string.split()print(sentence_string)
复制代码


4.通过数字填充初始化列表


[0]*1000 # List of 1000 zeros [8.2]*1000 # List of 1000 8.2's
复制代码


5.字典合并


x = {'a': 1, 'b': 2}y = {'b': 3, 'c': 4}z = {**x, **y}
复制代码


6.反转字符串


name = "George"name[::-1]
复制代码


7.从函数返回多个值


def get_a_string():  a = "George"  b = "is"  c = "cool"  return a, b, csentence = get_a_string()(a, b, c) = sentence
复制代码


8.列表解析式


a = [1, 2, 3]b = [num*2 for num in a] # Create a new list by multiplying each element in a by 2
复制代码


9.遍历字典


m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for key, value in m.items():  print('{0}: {1}'.format(key, value))
复制代码


10.同时遍历列表的索引和值


m = ['a', 'b', 'c', 'd']for index, value in enumerate(m):  print('{0}: {1}'.format(index, value))
复制代码


11.初始化空容器


a_list = list()a_dict = dict()a_map = map()a_set = set()
复制代码


12.删除字符串两端的无用字符


name = "  George "name_2 = "George///"name.strip() # prints "George"name_2.strip("/") # prints "George"
复制代码


13.列表中出现最多的元素


test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4]print(max(set(test), key = test.count))
复制代码


14.检查对象的内存使用情况


import sysx = 1print(sys.getsizeof(x))
复制代码


15.将 dict 转换为 XML


from xml.etree.ElementTree import Elementdef dict_to_xml(tag, d):    '''    Turn a simple dict of key/value pairs into XML    '''    elem = Element(tag)    for key, val in d.items():        child = Element(key)        child.text = str(val)        elem.append(child)    return elem
复制代码


英文原文:


15 Python tips and tricks, so you don’t have to look them up on Stack Overflow


2020 年 3 月 13 日 16:316535
用户头像

发布了 29 篇内容, 共 66802 次阅读, 收获喜欢 49 次。

关注

评论 6 条评论

发布
用户头像
就这?
2020 年 04 月 01 日 10:57
回复
用户头像
就这?
2020 年 03 月 20 日 16:55
回复
用户头像
是我变强了吗?感觉就是自己平常的使用的一些写法😂😂😂
2020 年 03 月 16 日 10:37
回复
应该是:“是我变秃了吗?”
2020 年 03 月 20 日 17:21
回复
用户头像
谢谢! 对我帮助很大!
2020 年 03 月 15 日 16:22
回复
真的假的,水军吧
2020 年 03 月 25 日 18:54
回复
没有更多了
发现更多内容

我终于拥有自己的独立博客了。

彭宏豪95

GitHub 写作 博客 IT

《分布式Java应用基础与实践》.pdf

田维常

分布式 电子书

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

马士兵老师

MySQL 阿里 sql查询 SQL优化 SQL光标

与第三方系统打通的N种进阶方式

棒锤🐮

架构

快速了解阿里微服务热门开源分布式事务框架——Seata

比伯

Java 架构 微服务 seata

【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器

IoT云工坊

人工智能 云计算 物联网 API 红外遥控器

对比一下,你的简历是不是也写成了这样,能拿高薪才怪了

小Q

Java 学习 架构 面试 简历

践行新基建,共建城市智能体,为数字经济发展提供新动能

CECBC区块链专委会

云计算 大数据

apipost如何设置断言

测试人生路

接口测试

当代程序员必备技能(算法)之:递归详解

Java架构师迁哥

深入解析 Flink 的算子链机制

Apache Flink

flink 流计算

腾讯云直播全解析,双11怎么买才不亏?

腾讯云视频云

腾讯云 阿里云 云直播 直播 视频

十年资深架构师分享:如果这么做还收不到一线互联网大厂面试,请来找我。

Java架构师迁哥

【活动回顾】Flutter实时音视频应用场景实践

ZEGO即构

flutter RTC

实时音视频面视必备:快速掌握11个视频技术相关的基础概念

JackJiang

即时通讯 视频 实时音视频

聚焦高交会:感受“区块链+”科技创新浪潮

WX13823153201

Linux一切皆文件,如果你没做到这一步,那这就是句话而已

小Q

Java Linux 学习 架构 面试

奈学教育荣获“中关村高新技术企业”认证

古月木易

教育 IT

JVM真香系列:堆内存详解

田维常

Java JVM 堆栈 虚拟机

双十一背后的技术

anyRTC开发者

大数据 AI 音视频 WebRTC RTC

详解快速开发平台与工作流通用组件的设计规范

Marilyn

敏捷开发 企业应用

科技助力餐饮,普渡送餐机器人在餐博会上被众人围观!

DT极客

薇娅和李佳琦带货百亿奇迹背后是这些技术团队的努力

阿里云视频云

堪称完美!11月华为首发Spring响应式微服务,三管齐下

小Q

Java spring 学习 架构 面试

堪称完美!11月华为官方首发Spring响应式微服务,Spring+SpringBoot+SpringCloud三管齐下

Java架构追梦

Java 架构 微服务 springboot SpringCloud

从应用开发角度认识K8S

LorraineLiu

云原生 容器技术 k8s入门

当Nginx遇上Tomcat集群,又是一场负载均衡的爱恨情仇

小Q

nginx tomcat 学习 架构 面试

奈学教育荣获“中关村高新技术企业”认证

奈学教育

奈学教育

携oneAPI Gold版本和服务器GPU 英特尔领先业界进入XPU时代

intel001

第八周作业

Geek_4c1353

极客大学架构师训练营

CloudQuery v1.2.1 版本发布

CloudQuery社区

数据库 开发者 运维 工具 开发工具

15个提高效率的Python编程技巧-InfoQ