写点什么

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

发布了 192 篇内容, 共 129.5 次阅读, 收获喜欢 216 次。

关注

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

WPF 与 Winform 的区别以及应用场景

神农写代码

petite-vue源码剖析-双向绑定`v-model`的工作原理

CRMEB

3.17线上|Azure 中国新区域发布会,携创新而来!

白玉兰开源

云计算

WPF -资源引用、资源字典引用以及容器模板和数据模板

神农写代码

# yyds内容盘点 # 一文教会你Python中三种简单函数的使用

程序媛可鸥

Python 人工智能 面试

#yyds内容盘点# 一文带你搞懂Python中变量与常量

程序媛可鸥

Python 人工智能 面试

it运维工程师的工作是做什么的?累吗?

行云管家

运维 服务器 IT IT运维

元宇宙,帮助土耳其奶牛产了更多奶?

CECBC

WPF 项目版本控制以及布局控件

神农写代码

云平台是什么?知名云平台有哪些?

行云管家

云计算 阿里云 云服务 云平台

面向编排的运维在阿里的应用 |阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 运维 云原生 部署与维护

基于微信小程序的驾校预约学车平台的概要设计和详细设计

CC同学

隐私计算技术栈的融合使用之路还很远

易观分析

隐私计算

如何写好单元测试

TroyLiu

Java 单元测试 解耦 测试原则 好的测试是什么样的

建木持续集成平台v2.2.4发布

Jianmu

运维 持续集成 开源社区 自动化平台 建木CI

web前端培训:Node的重新认识

@零度

前端开发 Node

【CAD】系列Ⅱ

謓泽

3月月更

AQS 源码流程分析

网易云信

java

大数据培训:HiveSQL技术优化与面试

@零度

Hive SQL 大数据开发

CRM复杂业务场景的低代码开发实践

鲸品堂

低代码

WPF-依赖属性、依赖附加属性以及类型转换

神农写代码

HBase海量数据高效入仓解决方案

vivo互联网技术

数据库 HBase

区块链能否助力版权“突围”?

CECBC

中科柏诚本地生活引数字化活水,解银行疫情期困局

联营汇聚

“元宇宙”与“数字孪生”

CECBC

中小型企业CRM系统有哪些好处

低代码小观

销售管理 企业管理 CRM系统 客户关系管理系统 企业管理软件

干货|一次完整的性能测试,测试人员需要做什么?

云智慧AIOps社区

测试 性能测试 测试 单元测试 测试类型 测试管理

PendingIntent重定向:一种针对安卓系统和流行App的通用提权方法——BlackHat EU 2021议题详解(上)

安第斯智能云

安全 安卓

4 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训 认证

java培训:使用 Disruptor 做springboot内部消息队列

@零度

JAVA开发 springboot

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