python 几个模块的使用

collections

deque 双向队列

from collections import deque
q = deque([1, 3, 4, 'a'])
print(q)
q.append('sjj')   #加在队列右边 
print(q)
q.appendleft('lx')  # 加在队列左边
print(q)
print(q.pop())  # 从队列右边抛出
print(q.popleft())  # 从队列左边抛出

输出:
deque([1, 3, 4, 'a'])
deque([1, 3, 4, 'a', 'sjj'])
deque(['lx', 1, 3, 4, 'a', 'sjj'])
sjj
lx

namedtuple 可命名的元祖

from collections import namedtuple
P = namedtuple('Point',['x', 'y']) # 初始化一个类
p = P(1,2)  # 初始化一个实例
print(p.x, p.y)

输出结果:
1 2

defaultdict

有如下值集合 [11,22,33,44,55,66,77,88,99,90…],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

即: {‘k1’: 大于66 , ‘k2’: 小于66}

from collections import defaultdict

values = [11, 22, 33,44,55,66,77,88,99,90]

my_dict = defaultdict(list)  # 参数必须是可调用的

for value in  values:
    if value>66:
        my_dict['k1'].append(value)
    else:
        my_dict['k2'].append(value)

defaultdict字典解决方法

OrderedDict

会按照输入的顺序排序

from collections import OrderedDict
dic = OrderedDict([('2', 3), ('3','4'), ('r', 5)])
print(dic.keys())

输出:
odict_keys(['2', '3', 'r'])

random模块

random.randint(x, X) 范围x-X内的随机一个整数,包含X
random.randrange(x, X)范围在x -X的随机一个整数,不包含X

random.choice(seq) 传入一个序列得到随机的一个数
random.sample(seq, 个数) 传入一个序列 取其中的两个数,不重复。

randrom.shuffle(list) 没有返回值,将传入方法中的列表次序打乱

l = []
for i in range(6):
    dig = str(random.randint(0, 9))
    alpha = random.choice(chr(random.randrange(97,122)))
    alpha_upper = random.choice(chr(random.randrange(65,90)))
    r = random.choice([dig, alpha_upper, alpha])
    l.append(r)

print(''.join(l))

输出:
fk9LSG
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值