写点什么

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

发布了 235 篇内容, 共 160.9 次阅读, 收获喜欢 227 次。

关注

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

【1.6-1.13】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动

企业真的需要一个私有化的即时通讯吗?

BeeWorks

版本控制 | 设计师和美术人员的理想版本控制软件是?

龙智—DevSecOps解决方案

版本控制 版本控制软件

TiCDC 集群工作过程解析

TiDB 社区干货传送门

【从零开始学爬虫】采集丁香医生新冠问答数据

前嗅大数据

数据采集 爬虫教程 爬虫案例 爬虫工具 爬虫技术

【堡垒机小知识】堡垒机属于安全设备吗?为什么?有什么作用?

行云管家

堡垒机 自动化运维 安全设备

JDBC的基本概念

Geek_7ubdnf

Java

PyFlink 最新进展解读及典型应用场景介绍

Apache Flink

大数据 flink 实时计算

软件测试/测试开发 | 静态扫描体系集成

测试人

软件测试 持续集成 jenkins 自动化测试 测试开发

【社区智慧合集】TiDB 相关 SQL 脚本大全

TiDB 社区干货传送门

通过TiDB Operator升级TiDB集群

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断 安装 & 部署 扩/缩容

2023年主流知名堡垒机重点推荐

行云管家

网络安全 堡垒机

火山引擎DataTester:一次A/B测试,帮助产品分享率提升超20%

字节跳动数据平台

大数据 AB testing实战

【Unity渲染】一文看懂!Unity通用渲染管线URP介绍

3DCAT实时渲染

Unity 渲染 实时云渲染 渲染服务 Unity3D

TiDB 生产集群与加密通讯TLS的辛酸苦辣 - 工具篇

TiDB 社区干货传送门

集群管理 管理与运维 备份 & 恢复

35张图,直观理解Stable Diffusion

OneFlow

人工智能 深度学习 Stable Diffusion

【UE虚幻引擎】手把手教学,UE新手打包全攻略!

3DCAT实时渲染

游戏开发 虚幻引擎 虚幻引擎5 UE5 游戏开发引擎

TiDB Operator高可用配置

TiDB 社区干货传送门

集群管理 管理与运维 安装 & 部署

TiDB Operator升级

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 安装 & 部署

岁末年初再添佳誉丨Kyligence 荣获多个奖项及榜单认可

Kyligence

数据分析 多维数据库

互联网医疗月度观察:规范化、合法化的网络售药新时代到来

易观分析

互联网医疗

收官!OceanBase第五届技术征文大赛获奖名单公布!

OceanBase 数据库

数据库 oceanbase

Hackathon特别策划 | 72小时灵感冲刺,创意就该这么玩

LigaAI

敏捷开发 研发管理 hackathon 黑客马拉松 企业号 1 月 PK 榜

研讨会回顾 | UI自动化测试现场演示

龙智—DevSecOps解决方案

软件测试 自动化测试 测试软件

如何理解鲁棒性?为什么robustness会翻译为鲁棒性?

九章云极DataCanvas

Getaverse入选KuCoin Labs首批孵化项目

Geek_Web3

#区块链# 元宇宙 web3

Inspur KOS 龙蜥衍生版面向智慧新媒体转型的探索与实践 | 龙蜥案例

OpenAnolis小助手

龙蜥社区 CentOS迁移 浪潮信息 KOS 服务器操作系统

企业移动应用APP是否能实现统一整合与管理呢?

BeeWorks

代码质量与安全 | 展望:2023年商业软件开发的五大关键目标

龙智—DevSecOps解决方案

静态代码分析

软件测试/测试开发 | 单元测试体系集成

测试人

软件测试 单元测试 自动化测试 JUnit 测试开发

OpenMLDB v0.7.0 发布

第四范式开发者社区

人工智能 机器学习 开源 特征 数据库·

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