foxdai 发表于 2020-4-13 17:56:51

L26字典 心得

1、字典采用哈希存储,查找一步到位,效率高
在字典中检查键(Key)是否存在比在序列中检查指定元素是否存在更高效。因为字典的原理是使用哈希算法存储,一步到位,不需要使用查找算法进行匹配,因此时间复杂度是O(1),效率非常高。

2、字典的key值限制
Python对键的要求相对要严格一些,要求它们必须是可哈希(Hash)的对象,不能是可变类型(包括变量、列表、字典本身等)

3、fromkeys的理解:
是直接创建一个新的字典,不要试图使用它来修改一个原有的字典,因为它会直接无情的用把整个字典给覆盖掉。

4、存在判断
如:'' in 'qoqwo', 这种请用'' not in 'sskal'的判断,这样可以将字符space()即空白字符考虑到;

永恒的蓝色梦想 发表于 2020-4-13 18:07:09

如:'' in 'qoqwo', 这种请用'' not in 'sskal'的判断,这样可以将字符space()即空白字符考虑到;???什么意思

foxdai 发表于 2020-4-22 17:18:29

语句1:
x = input()
if x in '12345':
   ......

语句2:
x = input()
if x not in '12345':
   ......

如果没有输入直接回车,那么 x='', 也就是x=space(), 那么 x in '12345' =True , 则会进入这个分支,我们期望在只输入12345的时候进入这个分支;
页: [1]
查看完整版本: L26字典 心得