阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

  • 2020-03-13
  • 本文字数:936 字

    阅读完需:约 3 分钟

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-03-13 16:317382
用户头像

发布了 138 篇内容, 共 74.6 次阅读, 收获喜欢 190 次。

关注

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

Reactive Spring实战 -- 理解Reactor的设计与实现

binecy

reactor Reactive SpringBoot 2

谁告诉你观察者就是发布订阅模式的!抽他!

爱笑的架构师

设计模式 23种设计模式 观察者模式 Java设计模式 七日更

使用基于 SpringMVC 的透明 RPC 开发微服务

AI乔治

Java spring 架构 微服务 Spring Cloud

【理论篇】浅析分布式中的 CAP、BASE、2PC、3PC、Paxos、Raft、ZAB

merlinfeng

大数据 分布式

甲方日常72

句子

工作 随笔杂谈 日常

盘点 2020 | 鲜衣怒马少年时,不负韶华行且知!

程序员的时光

程序员 成长 编程之路 计算机 盘点2020

数字货币交易所系统开发功能方案

2020年书单

井中人

得物(毒)APP,8位抽奖码需求,这不就是产品给我留的数学作业!

小傅哥

Java 小傅哥 编程开发 七日更 数学逻辑

执法办案信息化建设,情报研判管控分析平台搭建解决方案

t13823115967

智慧公安

发布会直播技术及业务实践

vivo互联网技术

分布式 服务器 直播技术

MSHA x Chaos 容灾高可用实践

阿里巴巴云原生

数据库 高可用 云原生 中间件 容灾

编程之美!从线程池状态管理来看二进制操作之美

Geek Tech

Java 源码分析 线程池

2020 微信头像圣诞帽来啦,快给 TA 戴帽子吧~

mghio

圣诞帽 微信头像 圣诞节

Fair World智能合约APP系统软件开发

系统开发

脑洞:如何用一个整数来表示一个列表?

Python猫

Python

小白干货奇遇记

熊斌

个人成长 七日更

做音视频最好用的几款跨平台框架

anyRTC开发者

flutter uni-app ios android WebRTC

四币连发交易所系统开发技术

距离 Java 开发者玩转 Serverless,到底还有多远?

阿里巴巴云原生

Java Serverless 微服务 云原生 中间件

智慧社区综合信息服务平台搭建,智能社区建设解决方案

t13823115967

智慧社区系统开发

【经验分享】遵循10步法,应用系统发布效率大不同!

嘉为蓝鲸

敏捷 运维自动化 部署 发布流程 应用发布

Windows安装MySQL5.7教程

Simon

MySQL windows 安装 七日更

Polkadot系列(三)——如何实现共享安全性

QTech

区块链 polkadot 跨链

Gridea+GitHub搭建个人博客

Simon

GitHub Pages 博客 七日更

合成游戏app系统开发软件技术

向我看齐!京东智联云成 2020 TOP100 Summit“技术标兵”

京东科技开发者

DevOps 云原生 数字化

世界之书:《麦田里的守望者》与在虚无中创造希望

lidaobing

麦田里的守望者 28天写作

Service Mesh最火项目Istio是怎么做流量管理的?

AI乔治

Java 架构 istio

生产环境全链路压测建设历程17:某快递A股上市公司的生产压测案例之前言

数列科技杨德华

全链路压测 七日更

入门参考:从Go中的协程理解串行和并行

soolaugust

Go Concurrency Patterns 七日更 Go 语言

15个提高效率的Python编程技巧_语言 & 开发_George Seif_InfoQ精选文章