常用模块的内置方法

一:collection模块

作用:在常见的数据类型上又衍生出一些新的数据类型

  (1)nametuple(具名元组):

    (1)常规元组里面存放的都是数据 但是不能像字典似的给里面的数据进行描述

    (2)具名元组可以对元组里面的数据进行描述

例如:

from  collections import namedtuple

# point = namedtuple('坐标',['x','y'])  # 参数一为描述性信息 参数二为可迭代对象
# p = point(1,2)                        # 上传的参数 必须与可迭代对象里包含的参数相等
# print(p)                              # 坐标(x=1, y=2)

card = namedtuple('扑克牌',['color','number'])
p = card('','A')
print(p)                            # 扑克牌(color='♠', number='A'

  (2)deque(双栈队列):

     (1)双栈队列 

     (2)其可以对列表里的元素进行双向添加删除

例如:

from collections import deque
# 
number = deque([1,2,3,4])
number.append(66)
print(number)       # deque([1, 2, 3, 4, 66])

number = deque([1,2,3,4])
number.appendleft(66)
print(number)       # deque([66, 1, 2, 3, 4]) 头部添加数据
# 
number = deque([1,2,3,4])
number.pop()
print(number)       # deque([1, 2, 3])

number = deque([1,2,3,4])
number.popleft()
print(number)       # qeque([2, 3, 4])
# 
number = deque([1,2,3,4])
number.insert(1,'six')
print(number)        # deque([1, 'six', 2, 3, 4])
'''
 PS:
(1)双栈队列不应该支持索引插入值 只能首尾进行操作
(2)deque有点特殊
# '''
deque双栈队列

  (3)orderdict(有序字典):

    (1)常见的字典是无序的

    (2)有序字典可以确定key_value顺序

例如:

from collections import OrderedDict

user = OrderedDict({'name':'SR','age':18})

print(user)    # OrderedDict([('name', 'SR'), ('age', 18)])

  (4)defaultdict

    (1):如果字典不存在 可以返回一个默认值 而不报错

例如:

from collections import defaultdict

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

my_dict = defaultdict(list)   # 后续key所对应的value都是列表

for value in  values:
    if value>66:
        my_dict['k1'].append(value)
    else:
        my_dict['k2'].append(value)
print(my_dict)      # defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 90]})

PS:

(1)其不像fromkey当元素都只想一个列表的键值对的值都加入同一个列表中

(2)其创建列表是动态创建的 且不同的key对应不同的lieb

  (5)counter

    (1)其会以字典的键值对进行存储

    (2)其中键值对的key为容器中的某元素 value为在容器中出现的次数

例如:

from collections import Counter

s =Counter ('asdasdadsasdasd')
print(s) # Counter({'a': 5, 's': 5, 'd': 5}

猜你喜欢

转载自www.cnblogs.com/SR-Program/p/11209337.html