一、enumerate的解释:https://blog.csdn.net/churximi/article/details/51648388
二、小技巧
else下出现了if,可以考虑转换为elif
硬编码与软编码要注意
id()显示变量地址
三、字典
采用键值对的形式存储数据,唯一的映射类型,字典中的元素是通过键来存取,而不是通过偏移存取。
键由于需要做哈希,键必须为不可变类型,如数字、字符串、元组。其他可变类型为列表和字典
键是唯一的。
dic = {'name':'alex', 'age':35, 'hobby':'girl'}
以上字典print出来是乱序
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143167793538255adf33371774853a0ef943280573f4d000
1.关于字典的操作:
dic.setdefault('age','34')键存在,不改动,返回字典中对应键的值;键不存在,在字典中添加键值对,返回字典中对应键的值;
dic.keys()会返回一个dict_keys类型,用list(dic3.keys())可以转换为列表;
dic.values()会返回所有值
dic.items()会返回以元组形式组织起来的键值对
dic1 = {'1':'111','name':'222'}
dic.update(dic1)如果键没有就加入键值对,键如果存在就更新键值对
dic.pop('age')删掉指定键值对,并返回值
del dic['name']删掉指定键值对
dic.popitem()随机删除某组键值对,并返回以元组的形式返回该键值对
del dic删除整个字典
2.其他操作
dic1 = dict.fromkeys(['host1','host2','host3'],'test')生成一个有三个键,所有值均为'test'的字典
与深浅拷贝有关的
dic1 = dict.fromkeys(['host1','host2','host3'],'['test1','test2'])
dic1['host2'][1] = 'test3'结果是所有test2都变为了test3,是一种浅拷贝
3.字典的嵌套
4.字典的排序
sorted(dic)根据键的ASCII码进行排序
5.字典的遍历
for i in dic:按字典中的键遍历
for i,v in dic5.items()也可以遍历,但相当消耗时间(推荐使用上一种方式)