python算法详解-01(初学者的福音!)

本文深入探讨Python中常用的数据结构,包括range迭代器的高效使用,collections模块的Counter和defaultdict,以及ChainMap和itertools.permutations的运用。同时,文章详细介绍了列表解析、字典解析和集合解析的方法,以及字典和集合的高级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

range 迭代器

使用range,以及产生数字列表
list(range(1,10))是最快的方式,比列表解析还快。

colletions使用

找出列表出现元素的次数(collections.Counter())

在这里插入图片描述

collections.defaultdict()

在这里插入图片描述

operator.itemgetter()

collections.ChainMap()

在这里插入图片描述

itertools.permutations()

列表解析:

还要字典解析, 集合解析
列表解析

列表

列表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

元组

需要注意的是:

  1. 元组初始化时至于一个元素需要用 t1 =(1, ),记得添加一个,不然会和1数字歧义
  2. 元组也可以进行 *+的连接操作,这一点类似列表
    在这里插入图片描述
    在这里插入图片描述

字典

值得注意的是:

  1. dict.get(key, default=-1)/dict.get(key,-1)来寻找key的value,没有就返回-1
  2. 或者使用dict.__contains__(key)
  3. dict的keys()和values()和items()方法都可应用集合操作!!!!
  4. 字典的删除为del dict[key], 清空为dict.clear()
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 我们可以看到这里虽然a.keys()支持集合的运算操作。
    在这里插入图片描述

集合

在这里插入图片描述

  1. 细心的你注意到了 and ,or 和& ,| 是不一样的。
    具体看下图:
    a={1,2,3}
    b={2,3,4}
    你会发现,or和and是逻辑运算符。
    a or b 为True, 那么返回,第一个为真的a或者b。
    结合下图可以仔细想想!!

  2. & 和 | 和 ^ 都是位运算。值得一提的是,异或运算等于不进位加法

  3. ( A ^ B ) ^ B = A 的互逆性质
    在这里插入图片描述

在这里插入图片描述

未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万物琴弦光锥之外

给个0.1,恭喜老板发财

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值