Python 中的一些常用的内置类

前言

博主在leetcode上刷题时发现题解中有很多没有见过的方法和函数,深感对python了解学习的不足,遂简要记录下这些方法,以便个人查阅
内容多为AI生成,还有一些自己的理解,若有错误或不当之处,望各位指正

Counter

在 Python 中,Counter是collections模块中的一个类,它主要用于方便地计数可哈希对象。以下是关于Counter的详细介绍:

创建对象
from collections import Counter

lst = [1, 2, 2, 3, 3, 3]
counter = Counter(lst)
print(counter)  # Counter({3: 3, 2: 2, 1: 1})
常用方法和属性
  1. most_common(n)
    返回一个列表,其中包含最常见的n个元素及其计数,按照计数从多到少排序。
counter = Counter([1, 2, 2, 3, 3, 3, 4, 4])
most_common = counter.most_common(2)
print(most_common)  # [(3, 3), (2, 2)]
  1. elements()
    返回一个迭代器,内容为创建对象时的迭代器
counter = Counter([1, 2, 2, 3])
elements = list(counter.elements())
print(elements)  # [1, 2, 2, 3]
  1. items()
    返回一个迭代器,包含计数器中的所有元素和其出现次数
from collections import Counter

counter = Counter({'apple': 3, 'banana': 2, 'orange': 1})

for item, count in counter.items():
    print(f'{item}: {count}')
'''
apple: 3
banana: 2
orange: 1
'''
  1. keys()
    返回一个迭代器,包含计数器中所有的元素
    由于counter基于哈希表实现,该方法与字典处keys相同

  2. 交集 并集运算

counter1 = Counter([1, 2, 2, 3])
counter2 = Counter([2, 3, 3, 4])

result = counter1 & counter2 #交集
print(result)  # Counter({2: 1, 3: 1})

result = counter1 | counter2 #并集
print(result)  # Counter({1: 1, 2: 2, 3: 3, 4: 1})

enumerate

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

enumerate(sequence, [start=0])
# start 默认为0

实例

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
     print i, element
""" 
0 one
1 two
2 three
"""

map

map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

map(function, iterable, ...)

实例

def square(x) :         # 计算平方数
    return x ** 2
map(square, [1,2,3,4,5])    # 计算列表各个元素的平方
list(map(square, [1,2,3,4,5]))   # 使用 list() 转换为列表
[1, 4, 9, 16, 25]

除此之外map还可用于类型转换
常用于 a=list(map(int, input.split())

posted @   Chano_sb  阅读(12)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示