【python学习笔记】第六天_enumerate()_字典

一、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()也可以遍历,但相当消耗时间(推荐使用上一种方式)

你可能感兴趣的:(python_学习笔记)