合作专线:17362615757
行业资讯

AI资讯

当前位置:首页 > 行业资讯 > AI资讯

空字符串记数、的新华词典可以降序...python语言冷科学知识(五)


本文转载自Python编程时光(ID: Python-Time)
冷知识系列,直至今日,已经更新至第五篇。前四篇给你准备好了,还没阅读的可以学习一下。

谈谈 Python 那些不为人知的冷知识(一)
谈谈 Python 那些不为人知的冷知识(二)谈谈 Python 那些不为人知的冷知识(三)谈谈 Python 那些不为人知的冷知识(四)
空字符串计数求一个字符串里,某子字符(串)出现的次数。在Python中使用 count() 函数,就可以轻松实现。比如下面几个常规例子>>> "aabb".count("a")
2
>>> "aabb".count("b")
2
>>> "aabb".count("ab")
1
但是如果使用空字符串呢,你可能想不到会是这样的结果。>>> "aabb".count("")
5
具体原因,我不敢妄下结论。由此我还衍生出另一个想法,实验了下。不知道空字符串,是一种什么样的存在,难道字母与字母之间 “缝隙” 也算吗?>>> "" in ""
True
>>> "" in "ab"
True
有兴趣的可以去看看CPython的源码实现。负负得正从初中开始,我们就开始接触了负数 这个概念。知道了负负得正,这和武侠世界里的以毒功毒,有点神似。Python 作为一门高级语言,它的编写符合人类的思维逻辑,这其中也包括负负得正这个思想。>>> 5-3
2
>>> 5--3
8
>>> 5+-3
2
>>> 5++3
8
>>> 5---3
2
数值与字符串比较在 Python2 中,数字可以与字符串直接比较。结果是数值永远比字符串小。>>> 100000000 < ""
True
>>> 100000000 < "ming"
True
但在 Python3 中,却不行。>>> 100000000 < ""
TypeError: '<' not supported between instances of 'int' and 'str'
循环中的局部变量泄露在Python 2中x的值在一个循环执行之后被改变了。# Python2
>>> x = 1
>>> [x for x in range(5)]
[0, 1, 2, 3, 4]
>>> x
4
不过在Python3 中这个问题已经得到解决了。# Python3
>>> x = 1
>>> [x for x in range(5)]
[0, 1, 2, 3, 4]
>>> x
1
让字典可排序字典不可排序的思想,似乎已经根深蒂固。# Python2.7.10
>>> mydict = {str(i):i for i in range(5)}
>>> mydict
{'1': 1, '0': 0, '3': 3, '2': 2, '4': 4}
在 Python3 中字典已经是有序的。# Python3.6.7
>>> mydict = {str(i):i for i in range(5)}
>>> mydict
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4}
(本文为 AI科技大本营转载文章,转载请联系原作者)
◆CTA核心技术及应用峰会◆
5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。

更多重磅嘉宾请识别海报二维码查看,目前会议早鸟票发售中(原票价1099元),点击阅读原文即刻抢购。添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。推荐阅读Yann LeCun推荐!自监督学习、全景FPN...内容平台的四大技术指南如何确定最佳训练数据集规模?6 大必备“锦囊”全给你了 | 技术头条如何在Python中轻松使用CVS,JSON,XML一篇文章讲清楚Python虚拟环境华为员工年薪 200 万!真相让人心酸!什么是云计算基础设施?| 技术头条Facebook数据泄漏受害者: 既然无法阻止个人数据被卖, 不如我自己先卖@程序员,不是你选择加班,而是 KPI 驯化你全球 AI 报告出炉:美国称王,中国砸 80W 年薪抢人才紧追!
Auto_z