python_advanced_feature

集合推导式

列表推导式

%%timeit
#普通方法
result1 = []
for i in range(10000):
    if i%2 == 0:
        result1.append(i)
%%timeit
#列表推导式方法
result2 = [i for i in range(10000) if i%2 == 0]
str_lst = ['Welcome', 'to', 'Python', 'Data', 'Analysis', 'Course']
result3 = [x.upper() for x in str_lst if len(x) > 4]
print(result3)

字典推导式

lists = [list(range(10)), list(range(10, 20))]
print(lists)
evens = [item for lst in lists for item in lst if item % 2 == 0]
print(evens)

多函数模式

# 处理字符串
str_lst = ['$1.123', ' $1123.454', '$899.12312']

def remove_space(str):
    """
        remove space
    """
    str_no_space = str.replace(' ', '')
    return str_no_space

def remove_dollar(str):
    """
        remove $
    """
    if '$' in str:
        return str.replace('$', '')
    else:
        return str

def clean_str_lst(str_lst, operations):
    """
        clean string list
    """
    result = []
    for item in str_lst:
        for op in operations:
            item = op(item)
        result.append(item)
    return result

clean_operations = [remove_space, remove_dollar]
result = clean_str_lst(str_lst, clean_operations)
print(result)

匿名函数lambda

f = lambda x:x**2
f(2)
str_lst = ['Welcome', 'to', 'Python', 'Data', 'Analysis', 'Course']
str_lst.sort(key=lambda x:len(x)) # sort by length
print(str_lst)

str_lst.sort(key=lambda x:x[-1]) # sort by the last letter
print(str_lst)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值