python技巧分享(十五)

17 篇文章 0 订阅
15 篇文章 0 订阅

这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。

1 lambda

#!/usr/bin/env python
# coding=utf8


add = lambda x, y : x + y
print add(1, 2)
# 3

print (lambda x, y: x + y)(2, 3)
# 5

lambda主要用于实现匿名函数,定义一些简短的、轻量级的函数,但是牺牲了一定的可读性。由示例中可以看到,这里通过lambda定义了一个add函数,lambda自动实现了return功能,add的调用方式和正常的函数一样。另外,lambda定义的函数可以不赋值给任何变量,直接就可以调用。

2 子类判断

#!/usr/bin/env python
# coding=utf8


class BaseClass:
    pass


class SubClass(BaseClass):
    pass


class OtherClass:
    pass


print issubclass(SubClass, BaseClass)
# True
print issubclass(OtherClass, BaseClass)
# False

通过内置函数issubclass,可以判断一个类是否属于另外一个类的子类。由示例中可以看到,SubClass是BaseClass的子类,而OtherClass不是BaseClass的子类。

3 元素统计

#!/usr/bin/env python
# coding=utf8

import collections


l = 'abbcccdddd'
list_counter = collections.Counter(l)
print list_counter
# Counter({'d': 4, 'c': 3, 'b': 2, 'a': 1})
print list_counter.most_common(3)
# [('d', 4), ('c', 3), ('b', 2)]

借助collections模块,可以实现一个可迭代对象的计数功能。由示例中可以看到,这里分别计算出了列表l中每个字母出现的次数。通过调用most_common方法,还可以得到出现次数最多的前三个字母。详情请参考:https://docs.python.org/2/library/collections.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值