写点什么

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

发布了 191 篇内容, 共 128.6 次阅读, 收获喜欢 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
回复
没有更多了
发现更多内容

Vue组件通信之ref

Augus

8月日更

2021Java进阶者的新篇章

JVM调优资料

Java 程序员 后端

SpringBoot 中的事务处理

xcbeyond

事务 springboot 8月日更

Linux之watch命令

入门小站

Linux

学习的细碎之处

Nydia

JDK 从8升级到11,使用 G1 GC,HBase 性能下降近20%。JDK 到底干了什么?

毕昇JDK社区

在线网页快捷方式创建工具

入门小站

工具

03 设计模式之工厂模式

陈皮的JavaLib

Java 面试 设计模式 工厂模式 8月日更

2021Java不死我不倒

Geek_f90455

Java 程序员 后端

2021Java者未来的出路在哪里

JVM调优资料

Java 程序员 后端

我测了啊,我真测了!

QualityFocus

测试 质量保障 线上问题 缺陷

关于 go run 命令执行过程中的“坑坑点点”

liuzhen007

8月日更

2021Java岗面试题知识点小结

Geek_f90455

Java 程序员 后端

缓存数据历险记(一)--被缓存警察上课一天

卢卡多多

redis 缓存 8月日更

Hbase 入门详解

Se7en

2021Java开发现状分析

Geek_f90455

Java 程序员 后端

2020-2021华为Java面试真题

Geek_f90455

Java 程序员 后端

停下来读读书

箭上有毒

生活随想 8月日更

2020-2021京东Java面试真题解析

Geek_f90455

Java 程序员 后端

Windows10下JDK8下载及java环境配置

Bob

8月日更

趁着课余时间学点python(二)缩进 标识符 保留字 注释 输入输出的理解

ベ布小禅

8月日更

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

编程菌

Java 编程 程序员 面试 计算机

为什么需要数据库连接池

赖猫

MySQL 数据库 后端 连接池

黄金圈法则解读数据中台(1):为什么需要数据中台

水滴

数据中台 黄金圈法则 8月日更

DDD领域驱动设计·学习应用·一

小诚信驿站

领域驱动设计 领域驱动模型DDD 中台架构 领域驱动

12年高级工程师的“飞升之路”

Geek_f90455

Java 程序员 后端

2020-2021阿里巴巴Java面试真题解析

Geek_f90455

Java 程序员 后端

Druid 通过 dsql 进行查询

HoneyMoose

Druid 通过 dsql 的服务器连接参数如何配置

HoneyMoose

2021Java面试笔试总结

JVM调优资料

Java 程序员 后端

2021京东最新Java面试真题解析

JVM调优资料

Java 程序员 后端

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