关于学习Python的一点学习总结(36->基本序列和映射协议)

news/2024/7/7 18:34:52

基本的序列和映射协议

1.len(self):这个方法应返回集合包含的项数,对序列来说为元素个数,对映射来说
为键值对数。如果__ len __ 返回零(且没有实现覆盖这种行为的__nonzero__),对象在布
尔上下文中将被视为假(就像空的列表、元组、字符串和字典一样)。

2 . getitem(self, key):这个方法应返回与指定键相关联的值。对序列来说,键应该是
0~n -1的整数(也可以是负数,这将在后面说明),其中n为序列的长度。对映射来说,
键可以是任何类型。

3.setitem(self, key, value):这个方法应以与键相关联的方式存储值,以便以后能够
使用__getitem__来获取。当然,仅当对象可变时才需要实现这个方法。

4 . delitem(self, key):这个方法在对对象的组成部分使用__del__语句时被调用,应
删除与key相关联的值。同样,仅当对象可变(且允许其项被删除)时,才需要实现这个

方法。
注意:1.对于序列,如果键值为负整数,应从末尾往前数。2.如果键值的类型不匹配,可能会引发异常。3.对于序列,如果索引的类型是正确的,但是不在允许的范围内,也会引发异常。

http://lihuaxi.xjx100.cn/news/286924.html

相关文章

差分 ---- Codeforces Round #672 (Div. 2):C2. Pokémon Army (hard version)[差分的思想]

题目链接 题目大意:就算给你一序列,按照顺序出若干个数组成一个的序列,然后对这个序列定义一个权值就算奇数位置的和减去偶数位置的和,问你能的到的最大的权值是多少? **a1 - a2 a3 - a4 a5 … ** 解题思路&#xff…

oracle rodo 查看大小,Checkpoint not complete故障

Checkpoint not complete故障一、故障现象:Checkpoint not completeCurrent log# 3 seq# 30192 mem# 0: /u01/app/oracle/oradata/yingxiang/redo03.logThread 1 advanced to log sequence 30193 (LGWR switch)Current log# 1 seq# 30193 mem# 0: /u01/app/oracle/o…

原来,1999年已经是20年前了

作者:小武来源:一只武(ID:xiaowuwaimai)父母的修养,未来不可见,过去真实存在。岁月是神偷,轻易偷走最珍贵的时间。往事不可追,唯有回忆作陪。1999年的你,年龄…

2018热点总结:BERT最热,GANs最活跃,每20分钟就有一篇论文...

作者 | Ross Taylor 译者 | linstancy 整理 | Jane 出品 | AI科技大本营 【导读】本文的作者 Ross Taylor 和 Robert Stojnic 在今年一起启动了一个名为“Paper with Code”的项目,将 AI 领域的一些研究论文和论文开源代码结合展示,方便大家学习与研究…

SQLite的数据类型总结

2019独角兽企业重金招聘Python工程师标准>>> 一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型: 1.NULL:空值。2.INTEGER:带符号的整型&…

关于NameError: name ‘sns‘ is not defined->ModuleNotFoundError: No module named ‘seaborn‘错误提示

添加:import seaborn as sns 添加这句之后又出现这个错误: 2.ModuleNotFoundError: No module named seaborn 下载seaborn: 方法一:Anaconda Prompt->activate tensorflow (创建tensorflow环境)->输入: pip inst…

Codeforces Round #672 (Div. 2)D. Rescue Nibel![扫描线解决区间问题]

题目链接 题目大意:就是给你n个区间,从中选出k个区间,这k个区间共同覆盖了同一个点,问有多少种选法?结果mod 998244353 解题思路:1.首先我们可以这么想:我们把区间左端点赋值为1,右端…

解读算法「时间」与「空间」复杂度——冰与火之歌

作者 | 程序员小吴来源 | 五分钟学算法算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比如排序就有前面的十大经典排序和几种奇葩排序&#x…