1、反向循环一个序列
for f in reversed(range(1, 10, 2)): print(f)
2、截取列表
def make_batches(items, batch_size): """ >>> list(make_batches([1, 2, 3, 4, 5], batch_size=3)) [[1, 2, 3], [4, 5]] """ current_batch = [] for item in items: current_batch.append(item) if len(current_batch) == batch_size: yield current_batch current_batch = [] yield current_batch c = list(make_batches([1, 2, 3, 4, 5], batch_size=2)) for i in c: print(i)
3、在集合中搜索项目
def look_set(set_a): return "s" in set_a def look_list(list_a): return "s" in list_a s = {"s", "K", "P", "w"} ls = ["s", "K", "P", "W"] look_set(s) look_list(ls)
4、使用_来分配某些内容,但是又不会去引用这些内容
day_num = [42, 52, "马克", "发么"] for _, n in enumerate(day_num): print(n)
5、使用set()在序列上消除重复元素,还可以结合sorted()
dt = ["interpret", "scope", "merge", "trigger", "scope"] for g in sorted(set(dt)): print(g)
6、频繁对多个对象使用同一切片方式,可以用slice对象抽出来封装
prefct_slice_way = slice(1,10,2)
7、删除列表几个元素
new_list = [1, 2, 3, 4, 5, 6, 7, 8] #删除前三个元素 new_list[0: 3] = "" print(new_list) # 实际上我们del lst[0]的时候, 实际上就是执行了lst[0: 1] = [] # 然后重点来了, 如果切片有步长的话(>1), 那么两边一定要匹配 # 由于此时lst中有8个元素, lst[:: 2]会得到4个元素, 那么右边的可迭代对象的长度也是4 new_list[:: 2] = ['a', 'b', 'c', 'd'] print(new_list) # ['a', 2, 'b', 4, 'c', 7, 'd']