简介
本文介绍了一些平时用到的Python书写技巧。之后会不断更新。

交换变量
1 | x = 6 |
if 语句在行内
1 | print("Hello") if True else "World" #Hello |
连接
1 | a = [1, 2] |
除法
1 | print(5.0//2) #2 地板除 |
数值比较
1 | x = 2 |
迭代列表
1 | names = ('Jack','Leo','Sony') |
列表推导式
已知一个列表,我们可以筛选出偶数列表方法:
1 | numbers = [1,2,3,4,5,6] |
字典推导
和列表推导类似,字典可以做同样的工作:
1 | names = ['Jack','Leo','Sony'] |
初始化列表的值
1 | items = [0]*3 |
列表转换为字符串
1 | names = ["Leo", "Jack", "Lucy"] |
从字典中获取元素
1 | data = {'user': 1, 'name': 'Max', 'age': 4} |
切片
1 | x = [1,2,3,4,5,6] |
一行代码解决FizzBuzz
有一个简单的编程练习叫FizzBuzz,问题引用如下:
写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。
这里就是一个简短的,有意思的方法解决这个问题:
1 | for x in range(101):print("fizz"[x%3*4::]+"buzz"[x%5*4::]or x) |
集合
除了python内置的数据类型外,在collection模块同样还包括一些特别的用例,在有些场合Counter非常实用。
1 | from collections import Counter |
迭代工具
和collections库一样,还有一个库叫itertools,对某些问题真能高效地解决。其中一个用例是查找所有组合,他能告诉你在一个组中元素的所有不同的组合方式
1 | from itertools import combinations |
False == True
在Python中,True和False是全局变量,因此:
1 | False = True |