python优良代码例子(一)

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']
原文地址:https://www.cnblogs.com/jinggs/p/14310039.html