python—面试题汇总

字符串逻辑判断:

紧记优先级: () --> not -->and -->or

字典容易出错:

dict  = dict.fromkeys(iterable,value)  将iterable中每个元素作为key,对应的值都一样,因其value实际再内存中是同一个地址,大坑!!!

 1 # 当其值value不为列表或字典时,可正常修改,不会产生连带效果
 2 dic = dict.fromkeys("abc", "old_boy")  # {'a': 'old_boy', 'b': 'old_boy', 'c': 'old_boy'}
 3 dic["a"] = "keep"  # {'a': 'keep', 'b': 'old_boy', 'c': 'old_boy'}
 4 # 如果dic的value也是iterable如是列表或是字典,当向其中某一key对应的列表中添加值时,其他都会同时添加
 5 # 说明他们都指向同一个列表内存地址
 6 dic1 = dict.fromkeys("ab", [])  # {'a': [], 'b': []}
 7 dic1["a"].append("test")  # {'a': ['test'], 'b': ['test']}
 8 
 9 dic2 = dict.fromkeys("ab", {"key_test":"ddd"})  # {'a': {'key_test': 'ddd'}, 'b': {'key_test': 'ddd'}}
10 dic2["a"]["key_test"] = "important"  # {'a': {'key_test': 'important'}, 'b': {'key_test': 'important'}}

猜你喜欢

转载自www.cnblogs.com/sunxiuwen/p/9147317.html