一、变量交换: python
a, b = b, a
二、带有索引位置的集合遍历:数据结构
colors = ['red', 'green', 'blue', 'yellow'] for i, color in enumerate(colors): print i, '--->', color
三、字符串链接:app
names = ['raymond', 'rachel', 'matthew', 'roger','betty', 'melissa', 'judith', 'charlie'] print ', '.join(names)
注:使用 + 操做时,每次都会在内存中生成一个新的字符串对象,而 join 方法整个过程只产生一个字符串对象。
四、打开/关闭文件: spa
with open('data.txt') as f: data = f.read()
注:使用 with 语句,系统会在执行完文件操做后自动关闭文件对象。
五、合理使用列表code
from collections import deque names = deque(['raymond', 'rachel', 'matthew', 'roger','betty', 'melissa', 'judith', 'charlie']) names.popleft()#删除最左边元素 names.appendleft('mark')#在最左边添加新元素
注:列表list 是一种查询效率高于更新操做的数据结构,删除和插入新元素时效率很低,队列deque 是一个双向队列的数据结构,删除元素和插入元素会很快
六、序列解包: 对象
p = 'vttalk', 'female', 30, 'python@qq.com' name, gender, age, email = p
七、遍历字典的 key 和 valueblog
for k, v in d.iteritems(): 注:iteritems 返回迭代器对象,在python3中只有 items 方法,等值于iteritems print k, '--->', v
八、链式比较操做: if 18 < age < 60:索引
猜一猜:>>> False == False == True (答案为:False)
九、if/else 三目运算:队列
text = '男' if gender == 'male' else '女'
十、真值判断:内存
if attr: 等价于 if attr == True: if values:(或 not values) 等价于 if len(values) != 0:(或 =0) # 判断列表是否为空
十一、for/else语句
for else 是 Python 中特有的语法格式,else 中的代码在 for 循环遍历完全部元素以后执行
十二、获取字典元素
d = {'name': 'foo'} d.get("name", "unknow") #若是d有key=name,则得到其value,不然key=unknow
1三、预设字典默认值
(场景:经过 key 分组的时候,不得不每次检查 key 是否已经存在于字典中。)
groups = {} for (key, value) in data: #方式一,经常使用 groups.setdefault(key, []).append(value)
1四、字典推导式
numbers = [1, 2, 3] my_dict = {number: number * 2 for number in numbers if number > 1} print(my_dict) # {2: 4, 3: 6}
1五、。。。