10月21日,杭州云栖大会-技术&可持续发展论坛,注册有礼 了解详情
写点什么

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

发布了 39 篇内容, 共 90543 次阅读, 收获喜欢 60 次。

关注

评论 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
回复
没有更多了
发现更多内容

3.手写单例模式设计

博古通今小虾米

SQL 是什么

Rayjun

sql

编程的本质和未来

小宋头

架构师训练营第 1 期第三周总结

Leo乐

极客大学架构师训练营

架构师训练营第三周总结

xs-geek

极客大学架构师训练营

架构师训练营第一周作业

四夕晖

[架构师训练营第 1 期] 第三周命题作业

猫切切切切切

极客大学架构师训练营

周练习3

何毅曦

架构师训练营第三周作业

我是谁

极客大学架构师训练营

基于链表的有界阻塞队列 —— LinkedBlockingQueue

程序员小航

Java 源码 AQS 源码阅读 LinkedBlockingQueue

架构师训练营 1 期 - 第三周总结(vaik)

行之

极客大学架构师训练营

架构师训练营 - week03 - 作业1

lucian

极客大学架构师训练营

我导师推荐的经典之作——《数学之美》第二版-吴军

计算机与AI

架構師訓練營 week3 總結

ilake

架构师训练营 1 期 -- 第三周作业

曾彪彪

极客大学架构师训练营

架构师训练营第三周作业

四夕晖

设计模式 极客大学架构师训练营

架构师训练营第三周课程笔记及心得

Airs

架构师训练营 - week03 - 学习总结

lucian

极客大学架构师训练营

Linux安装软件方法总结

MySQL从删库到跑路

Linux 源码 RPM安装 安装 yum

学习笔记:架构师训练营-第一周

四夕晖

4+1架构视图 通用设计模型

单例设计模式之枚举实现

A p7+

组合设计模式编写程序

石头

极客大学 极客大学架构师训练营

【架构师训练营第 1 期 03 周】 作业

Bear

极客大学架构师训练营

架构师训练营 1 期 - 第三周作业(vaik)

行之

极客大学架构师训练营

学习笔记:架构师训练营-第三周

四夕晖

设计模式 OOD

[架构师训练营第 1 期] 第三周学习总结

猫切切切切切

极客大学架构师训练营

架構師訓練營 week3 作業

ilake

极客大学架构师训练营

架构师训练营 1 期 -- 第三周总结

曾彪彪

极客大学架构师训练营

CSS 选择器 — 重学CSS

三钻

CSS 前端

面试官:开发过Maven插件吗?我:开发过啊。。。

冰河

maven 插件开发 互联网工程

Mac 配置环境变量未生效

hepingfly

Mac 环境变量 配置文件不生效

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

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