0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python基础知识点(六)

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-04-06 15:43 次阅读

字符串里的缝隙是什么

Python中求一个字符串里,某子字符(串)出现的次数。

大家都懂得使用 count() 函数,比如下面几个常规例子:

>>> "aabb".count("a")
2
>>> "aabb".count("b")
2
>>> "aabb".count("ab")
1

但是如果我想计算空字符串的个数呢?

>>> "aabb".count("")
5

不是应该返回 0 吗?怎么会返回 5?

实际上,在 Python 看来,两个字符之间都是一个空字符,通俗的说就是缝隙。

理解了这个“缝隙” 的概念后,以下这些就好理解了。

>>> (" " * 10).count("")
11
>>> "" in ""
True
>>> "" in "M"
True

x 与 +x 等价吗?

在大多数情况下,这个等式是成立的。

>>> n1 = 10086
>>> n2 = +n1
>>>
>>> n1 == n2
True

什么情况下,这个等式会不成立呢?

由于Counter的机制,+ 用于两个 Counter 实例相加,而相加的结果如果元素的个数 <= 0,就会被丢弃。

>>> from collections import Counter
>>> ct = Counter('abcdbcaa')
>>> ct
Counter({'a': 3, 'b': 2, 'c': 2, 'd': 1})
>>> ct['c'] = 0
>>> ct['d'] = -2
>>>
>>> ct
Counter({'a': 3, 'b': 2, 'c': 0, 'd': -2})
>>>
>>> +ct
Counter({'a': 3, 'b': 2})

+= 不等同于=+

对列表 进行+= 操作相当于 extend,而使用 =+ 操作是新增了一个列表。

因此会有如下两者的差异。

# =+
>>> a = [1, 2, 3, 4]
>>> b = a
>>> a = a + [5, 6, 7, 8]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>> b
[1, 2, 3, 4]


# +=
>>> a = [1, 2, 3, 4]
>>> b = a
>>> a += [5, 6, 7, 8]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>> b
[1, 2, 3, 4, 5, 6, 7, 8]


审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20147
  • 函数
    +关注

    关注

    3

    文章

    3904

    浏览量

    61311
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
收藏 人收藏

    评论

    相关推荐

    电气技术基础知识

    电气技术基础知识
    的头像 发表于 12-14 09:11 753次阅读
    电气技术<b class='flag-5'>基础知识</b>

    c语言程序设计基础知识点

    程序设计的基础知识点。 首先,我们将从C语言的数据类型和变量开始。C语言提供了多种数据类型,包括整数、浮点数、字符和指针等。整数类型包括int、long和short等,浮点数类型包括float和double等,字符类型用于存储ASCII字符,指针类型用
    的头像 发表于 11-27 15:25 913次阅读

    数字电位计知识点

    电子发烧友网站提供《数字电位计知识点.pdf》资料免费下载
    发表于 11-24 16:08 1次下载
    数字电位计<b class='flag-5'>知识点</b>

    OFDM技术知识点

    电子发烧友网站提供《OFDM技术知识点.rar》资料免费下载
    发表于 11-18 14:25 0次下载
    OFDM技术<b class='flag-5'>知识点</b>

    Python import Hook 实现远程导入模块

    的进阶技能,会深入地探讨并以真实案例讲解 Python import Hook 的知识点。 当然为了使文章更系统、全面,前面会有小篇幅讲解基础知识点,但请你有耐心的往后读下去,因为后面才是本篇文章的精华所在,希望你不要错过。
    的头像 发表于 11-02 11:45 351次阅读
    <b class='flag-5'>Python</b> import Hook 实现远程导入模块

    51单片机的知识点

    电子发烧友网站提供《51单片机的知识点.pdf》资料免费下载
    发表于 11-01 17:32 2次下载

    smt回流焊工艺知识点

    smt回流焊工艺知识点
    的头像 发表于 09-06 10:18 472次阅读

    C语言链表知识点(2)

    C语言链表知识点(2)
    发表于 08-22 10:38 181次阅读
    C语言链表<b class='flag-5'>知识点</b>(2)

    运放-2. 基础知识

    运放基础知识
    的头像 发表于 08-18 10:59 1846次阅读
    运放-2. <b class='flag-5'>基础知识</b>

    人工智能基础知识点总结

    人工智能基础知识点总结 ; 人工智能(Artificial Intelligence,AI)作为计算机科学中的一个重要领域,已经成为了当今时代的热门话题。它是通过算法和技术模拟出人类的思维方式和行为
    的头像 发表于 08-15 16:06 1500次阅读

    STM32 RTOS知识点

    电子发烧友网站提供《STM32 RTOS知识点.pdf》资料免费下载
    发表于 08-01 14:28 2次下载
    STM32 RTOS<b class='flag-5'>知识点</b>

    滚珠螺杆的基本知识点

    滚珠螺杆的基本知识点
    的头像 发表于 07-07 17:40 1146次阅读
    滚珠螺杆的基本<b class='flag-5'>知识点</b>

    讲解电路的基础知识

    下文总结了电路基础知识点
    的头像 发表于 06-27 17:12 1086次阅读
    讲解电路的<b class='flag-5'>基础知识</b>

    C语言基础知识点

    C语言是单片机开发中的必备基础知识,这里就列举部分STM32学习中会遇见的C 语言基础知识点。 01    位操作   下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持如下6中位操作
    的头像 发表于 05-31 09:07 676次阅读
    C语言<b class='flag-5'>基础知识点</b>

    数字电路知识点总结

    本文整理了数字电路课程中的相关基本的知识点和较为重要的知识点,用于求职的数电部分的知识准备,差缺补漏。
    的头像 发表于 05-30 15:07 3009次阅读
    数字电路<b class='flag-5'>知识点</b>总结