python 进阶知识点_Python 进阶知识点

filter 函数

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

filter(function, iterable)

参数:

function -- 判断函数,返回布尔值。

iterable -- 可迭代对象。

a = [ "12a,","234","dgb"]

b = list(filter(str.isdigit,a))

# 输出

234

itertools 模块

import itertools as its

# 产生ABCD的全排列

a = its.permutations('abcd')

for item in a:

print(type(item),item)

# 产生ABCDE的五选三组合

b = its.combinations('ABCDE', 3)

# 产生ABCD和123的笛卡尔积

c = its.product('ABCD', '123')

# 产生 `A / B / C / A / B` 的顺序无限循环序列

d = its.cycle(('A', 'B', 'C'))

count = 0

for item in d:

print(type(item),item)

count += 1

if count>10:

break

collections 模块

namedtuple

namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

from collections import namedtuple

Point = namedtuple('Point',['x','y','z'])

p = Point(1,2,3)

print(p.x)

deque

deque除了实现list的append()和pop()外,还支持appendleft()和popleft(),这样就可以非常高效地往头部添加或删除元素。

from collections import deque

a = deque([1,2,3,4])

print(a)

print(a.pop())

print(a.popleft())

a.append(1)

a.appendleft(4)

print(a)

defaultdict

除了在Key不存在时返回默认值,defaultdict的其他行为跟dict是完全一样的。

from collections import defaultdict

d = defaultdict(lambda:'n/a')

d['a'] = 1

print(d['a'])

print(d['b'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值