写点什么

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:316520
用户头像

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

关注

评论 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
回复
没有更多了
  • 为什么说容器的崛起预示着云原生时代到来?

    摘要:聊云原生之前,我们不妨从容器技术说起。

    2020 年 10 月 23 日

  • 内容页的加载与缓存

    2018 年 8 月 17 日

  • 守护进程

    2019 年 8 月 3 日

  • LeetCode 153. Find Minimum in Rotated Sorted Array

    Binary Search,Rotated Array,Python

    2020 年 5 月 7 日

  • 让你的简历不落窠臼,精雕细镂写一份真正的技术简历 (Python 向)

    孔子云:食不厌精,脍不厌细。字面意思是:粮食越精致越好,肉类切得越细越好,而实际上强调的是做事情要细致、精益求精,孔夫子阐之未尽,写简历同样不厌精亦不厌细,在上一篇文章:秋季招聘季如何制作一款“秀色可餐”的简历?由ShareLatex和Python3打造中,

    2020 年 12 月 23 日

  • 云端一体新前端工程模式在淘系前端的实践

    近来云原生、Serverless/FaaS一类的新架构逐渐开始成熟,进而建立在线服务的成本越来越低。轻量的云端服务开发,已经逐渐成为前端工程的新标配。淘系前端以导购业务为切入,开始实践云端一体新工程模式。本次会议我将会分享到,我们如何整合既有的前端项目与新的云端FaaS 能力,让淘系前端可以借助业务中台能力独立完成业务需求。讲师简介王光(九十),淘系前端团队高级前端技术专家,目前正尝试通过Serverless/FaaS 等新素材变革淘系前端研发模式。在阿里巴巴的六年时间里,陆续参与过 Weex 初期前端体系建设(React早期实践以及主导页面投放体系)、集团 Node.js 应用标准化治理和中间件体系建设等。技术兴趣较为广泛,对于技术浪潮自认为比较理性。

    2020 年 1 月 20 日

  • Python 程序性能分析和火焰图

    介绍Python火焰图的用法

    2020 年 5 月 11 日

  • Elasticsearch 数据建模最佳实践

    2019 年 8 月 21 日

  • 打造“上下同欲”的高效团队

    技术人员走上 Leader 岗位,角色该如何转变?业务发展越来越好,团队规模越来越大,技术占比在日常工作中越来越少,团队管理遇到的问题越来越多,这时候要如何处理?我在阿里短短四年,完成了从架构师到一线 Leader,再到百人团队研发 Leader 的转变,这中间踩了很多坑,也涨了很多知识,希望大家可以一起来探讨一下团队管理相关的知识。讲师介绍李侦跃,花名瓦雷,10 年技术经验,15 年加入阿里,目前在饿了么负责 C 端研发团队的技术管理工作。阿里 4 年,从架构师慢慢到带领百人规模的研发团队。

    2019 年 11 月 21 日

  • X-DB FPGA 异构计算加速的探索与实践

    演讲嘉宾 王剑英(北楼),阿里巴巴数据库事业部高级技术专家。 内容介绍 X-Engine是阿里巴巴数据库事业部研发的新一代存储引擎,是新一代分布式数据库X-DB的根基。为了达到10倍MySQL性能,1/10存储成本的目标,X-DB从一开始就引入了软硬件结合的设计思想,以充分发挥当前软件和硬件领域最前沿的技术优势。而引入FPGA加速是我们在定制计算领域做出的第一个尝试。通过 FPGA卸载数据库中部分计算密集型任务,如Compaction,压缩解压,数据Filter等操作。X-DB获得了极致的性能和稳定性。 演讲大纲 X-DB设计理念及架构特点; 如何识别数据库中适合异构计算设备的关键任务; 用 FPGA 卸载Compaction和压缩任务; 如何设计一个调度器,以发挥CPU/FPGA/GPU各自的优势; 异构计算设备如何满足数据库对数据一致性的要求。

    2018 年 9 月 12 日

  • Python 处理邮件和机器人的实用姿势

    Python1024自动办公系列:邮件和机器人。 整个系列涵盖Python处理文本文件、PDF、Word、Excel、PPT、图像、音频、视频、邮件、企业办公机器人等职场办公实用场景。

  • 使用 Docker 部署 Django + MySQL 8 开发环境

    之前部署 Python 开发环境,都是用的 virtualenv,或者是 Pipenv。这次使用 Docker 之后,对比下来,还是 Docker 更加方便。

    2020 年 7 月 18 日

  • 手把手教你从零开始使用 python 编写大型冒险类游戏 01 之游戏介绍

    手把手教你从零开始使用Python编写大型冒险类游戏,通过本教程的学习大家可以熟练应用Python知识,提高编程思维,掌握大型游戏开发技巧,干货满满,良心制作。为普及国内Python的学习尽一份微薄之力,让更多的朋友体会到编程的乐趣

    2020 年 8 月 15 日

  • 你应该学习的 20 个 Python 代码段

    Python禅宗:美丽胜于丑陋,明了胜于晦涩

  • 图解 K8s 核心概念和术语

    我第一次接触容器编排调度工具是 Docker 自家的 Docker Swarm,主要解决当时公司内部业务项目部署繁琐的问题,我记得当时项目实现容器化之后,花在项目部署运维的时间大大减少了,当时觉得这玩意还挺新鲜的,原来自动化运维可以这么玩。后面由于工作原因,很

发现更多内容

2.2.1 类反射 -《SSM深入解析与项目实战》

谙忆

Kafka处理请求的全流程解析

yes的练级攻略

kafka 后端 面试题 消息队列 源码解析

区块链跃升各国创新战略

CECBC区块链专委会

新基建 国家战略 区块链标准

troubleshoot之:用control+break解决线程死锁问题

程序那些事

Java JVM 死锁

数据库的乐观锁和悲观锁并非真实的锁

架构师修行之路

数据库 架构 乐观锁 悲观锁 分布式锁

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

Requests模块基本操作

骆俊

机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解

迈微AI研发社

学习 算法 KNN K聚类

知路,然后智行远;懂行,所以万业兴

脑极体

视读——沟通的艺术,看入人里,看出人外(第二章)

双儿么么哒

读书笔记 视觉笔记

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

# spring boot自定义线程池进行异步调用

方明

Java

服务器与普通电脑的区别?

德胜网络-阳

重学JavaScript02——类型

张理查rootv

如何设计实现一个证书加密签名工具包

三尾鱼

第十章作业

武鹏

List 和 Map 的排序

方明

Java

JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!

xcbeyond

接口 新特性 JDK1.8 默认方法

基于 grpc,protobuf搭建 server/client模型通信

是老郭啊

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

多省市出台关于区块链人才引进的计划

CECBC区块链专委会

新基建 区块链技术

机器学习算法之——卷积神经网络(CNN)原理讲解

迈微AI研发社

学习 算法 卷积神经网络 CNN

ARTS-week-2

saddamwilson

ARTS 打卡计划

ARTS Week11

时之虫

ARTS 打卡计划

DevOps 技术栈

柴锋

Linux DevOps 运维 敏捷 Shell

Go: 互斥锁和饥饿

陈思敏捷

go golang mutex

区块链+收藏品,全球三种典型应用路径的差异化

CECBC区块链专委会

区块链 应用价值

重学JavaScript03——执行

张理查rootv

如何对 ElasticSearch 集群进行压力测试

Bestony

elasticsearch ELK Elastic Stack

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

HTTPS证书过期导致的故障

焦振清

运维 https SRE 服务故障 证书过期

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