<div class="blogpost-body" id="cnblogs_post_body">
<p><span style="font-family:'黑体';font-size:16px;">前面讲了列表的各种操作: 这里我们要讲的是字典,有人说,字典是Python最强大的功能,能包含万物!让我们进入主题吧!</span></p>
<h2><span style="font-family:'黑体';"><span style="font-size:16px;">1、字典dict</span></span></h2>
<p><span style="font-family:'黑体';"><span style="font-size:16px;"> </span></span><span style="font-family:'黑体';font-size:16px;">字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的(自Python3.6后,默认是有序的),且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。</span></p>
<p> <span style="font-family:'黑体';font-size:16px;">dict 用{}来表示 键值对数据 {key:value} 唯一性</span></p>
<pre class="blockcode"><span style="font-family:'黑体';font-size:16px;"> 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 </span><br><br><span style="font-family:'黑体';font-size:16px;"> 值 没有任何限制 </span></pre>
<p><span style="font-family:'黑体';font-size:16px;"> 字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。</span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 什么是可哈希, 目前所学的</span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 可哈希(不可变)的对象有,int、tuple、bool,</span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 不可哈希(可变)的有 list、set、dict、str<br></span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 注意点:</span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 1、字典的循环中,是不能在里面进行删除的</span></p>
<p><span style="font-family:'黑体';font-size:16px;"> 1.1、增:</span></p>
<div class="cnblogs_code">
<pre class="blockcode">dic = {} <br>dic[<span style="color:#800000;">'</span><span style="color:#800000;">name</span><span style="color:#800000;">'</span>] = <span style="color:#800000;">'</span><span style="color:#800000;">周润发</span><span style="color:#800000;">'</span> <span style="color:#008000;">#</span><span style="color:#008000;"> 如果dict中没有出现这个key, 就会新增一个key-value的组 合进dict ,字典里有则会覆盖</span>
<span style="color:#000000;">
dic[</span><span style="color:#800000;">'</span><span style="color:#800000;">age</span><span style="color:#800000;">'</span>] = 18
<span style="color:#0000ff;">print</span>(dic) <span style="color:#008000;">#</span><span style="color:#008000;"> 如果dict中没有出现过这个key-value. 可以通过setdefault设置默认值 </span>
dic.setdefault(<span style="color:#800000;">'</span><span style="color:#800000;">嘉诚</span><span style="color:#800000;">'</span>) <span style="color:#008000;">#</span><span style="color:#008000;"> 也可以往里面设置值.</span>
dic.setdefault(<span style="color:#800000;">"</span><span style="color:#800000;">嘉诚</span><span style="color:#800000;">"</span>, <span style="color:#800000;">"</span><span style="color:#800000;">房地产</span><span style="color:#800000;">"</span>) <span style="color:#008000;">#</span><span style="color:#008000;"> 如果dict中已经存在了. 那setdefault将会 起作用 </span>
<span style="color:#0000ff;">print</span>(dic)</pre>
</div>
<p><span style="font-family:'黑体';font-size:16px;"> 1.2、删:</span></p>
<div class="cnblogs_code">
<pre class="blockcode">ret = dic.pop(<span style="color:#800000;">"</span><span style="color:#800000;">jay</span><span style="color:#800000;">"</span><span style="color:#000000;">)
</span><span style="color:#0000ff;">print</span><span style="color:#000000;">(ret)
</span><span style="color:#0000ff;">del</span> dic[<span style="color:#800000;">"</span><span style="color:#800000;">jay</span><span style="color:#800000;">"</span>] <span style="color:#008000;">#</span><span style="color:#008000;"> 删除含有这个key的键值对</span>
<span style="color:#0000ff;">print</span><span style="color:#000000;">(dic)
ret </span>= dic.popitem() <span style="color:#008000;">#</span><span style="color:#008000;"> 随机删除,但是在3.6中一般是删除最后一个</span>
<span style="color:#000000;">
dic.clear() </span><span style="color:#008000;">#</span><span style="color:#008000 |
|