ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

python中的字典详细介绍

2026/9/13 23:53:35 拓冰建站 浏览量
python中的字典详细介绍 中的字典详细介绍2014年09月18日, 时间更新, 在11时07分06秒之际被更新, 作者是钿畑这里有篇文章, 着重对其中的字典予以 介绍了, 该字典为数众多强有力的数据类别看中的一个, 此文章阐述了啥是字典, 进行创建字典以及给字典实施赋值, 关于字典的基础操作, 映射样式操作符, 映射相关联的函数, 还有字典的方法等一系列内容, 有需要的朋友能够去参考一下。一、什么是字典字典是语言中唯一的映射类型。哈希值键, key所在的映射类型对象, 与指向的对象值, value呈现的是一对多变的关系, 一般被当作可改变的哈希映射存在了。按规定讲, 这个说法是有一定道理的。有这样一种字典对象, 它并非不可变, 而是可变的, 它属于容器类型, 能够存储任意数量的对象, 这些对象里还可以包含其他的容器类型。字典类型与序列类型的区别1.存取和访问数据的方式不同。2.序列类型, 仅使用数字类型的键, 这些键是从序列起始位置, 按照数值顺序进行索引的。3.对于映射类型而言, 其能够采用像数字、字符串、元祖这样的 other 对象类型当作键, 一般会选用字符串当作键, 它和序列类型的键不一样呢, 映射类型的凭借直接或者间接的方式与存储的数据值产生关联。5.映射类型当中的数据, 是按照无序的方式进行排列的, 这与序列类型存在差异, 序列类型是依据数值序来排列的。6.映射类型用键直接“映射”到值。字典是中最强大的数据类型之一。二、如何创建字典和给字典赋值换种表述, 字典是那种由大括号包起来的, 是键值对的集合, 而键值对又被叫做项。一般形式adict {}adict {key1 key2 …}要么使用dict()函数, 比如说, adict dict() 或者 adict dict这般表述正确吗? adict dict。通过关键字参数去创建字典, 例如: adict dict(nameallen,age40′)。或许会采用(), 具体而言, 就像, 以adict {}.((‘x,y), -1)通过这种方式所创建出来的字典, 其value具有相同的情况, 要是不给定值, 那么默认的情况就是None这样的情况。特点1、键与值用冒号“”分开2、项与项用逗号“”分开3、字典中的键必须是唯一的而值可以不唯一。出现了重复命名的情况, adict 中存在两个名同为 name 的键值对, 其中一个值为 allen, 另一个值为 lucy, 同时其键 age 的值为 40′ , 而 bdict 中名为 name 的键值对的值是 allen , 还有一个名为 name2′ 的键值对其值也是 allen , 并且键 age 的值同样为 40′。留意: 要是字典里头的值属于数字, 那么最好采用字符串数字的形式, 就像: age:040′呀而并非‘age:040。三、字典的基本操作1、如何访问字典中的值以adict形式返回, 键key所对应的那个值value, 要是key不在字典里, 将会引发一个。2、如何检查key是否在字典中a、有这样一种方法, 其呈现形式为: adict.(name)存在时, 结果为True, 不存在时, 结果为False。b、在、不在, 比如: 出现了于一个字典里的情况, 像这样的形式: 即“name”在里面于一个字典之中, 存在–为真, 不存在–为假。3、如何更新字典a、添加一个数据项新元素或键值对adict value 形式添加一个项b、更新一个数据项元素或键值对adict c、删除一个数据项元素或键值对对于del adict而言, 要删除键为key的项, 或者, del adict要删除整个字典。去掉键key的项, 返回与键key对应的value值, 这是adict.pop(key)的操作。四、映射类型操作符表示标准类型的操作符、有加号、减号、乘号、赋值号、等于号、不等于号、逻辑与、逻辑或、逻辑非a、字典不支持拼接和重复操作符*b、字典的比较操作先比较字典的长度也就是字典的元素个数键比较值比较例子adict {}cmp函数作用于adict与bdict时, 其结果小于负一, 或者大于正一, 又或者等于零。五、映射相关的函数1、len() 返回字典的长度2、当调用 hash() 时, 它会返回对象的哈希值, 而这个哈希值能够被用来判定一个对象是否能够被用作字典的键这件事。3、dict() 工厂函数用来创建字典六、字典的方法1、“adict.keys()”, 它返回一个列表, 这个列表包含着字典的所有“KEY”。2、执行 adict.() 后, 所获结果是返回一个带有字典全部 value 的列表。3、由adict.items()返回的是一个列表, 该列表包含着所有的键, 值元祖。4、adict.clear() 删除字典中的所有项或元素5、adict.copy() 返回一个字典浅拷贝的副本6、先创建一个新字典出来, 这个过程是以seq里的元素身为该字典的键, val作为该字典里所有键所对应的初始值默认情况是None, 然后返回这个新字典 , 这是adict.(seq, valNone)所做的事。7、(adict.get(key, None))返回字典里key所对应的那个值, 要是key在字典里不存在, 那么返回的值就是默认情况下为None)。8、当使用in、not in时, 若字典里存在指定的键, 那么adict.(key)会返回True给你, 不然的话返回的则是False。9、adict.(), 重复一次adict.()并且再重复一次adict.(), 这三个adict.(), 和它们所对应的并非迭代的方法是一样的, 然而存在着不同之处, 那就是它们返回的是一个迭代子, 并非是一个列表。10、adict.pop(key)跟get方法类似, 要是字典里有key, 那就把key对应的vuale删掉并返回, 假设key不存在, 并且没给出值, 那就会引发异常。11、adict.(key, None), 这与 set() 方法相类似呢, 然而要是在字典当中不存在 Key 键的话, 那么经由 adict 来为其进行赋值。12、获取到字典bdict, 把之中键值对纳入, 添加之处选定为字典adict。使其数量增加, 增添后成为新的字典adict。其键值对来自于字典bdict。七、字典的遍历1、遍历字典的key键对于处于字典键集合中的键而言, 执行打印该键的操作。2、遍历字典的value值3、遍历字典的项元素将针对字典的 函数返回的每一项迭代, 针对迭代中的每一项, 执行打印该项的操作。4、遍历字典的key-value把“for item, value in adict.items()”改成: 为键,值在字典的项中时, 把“for item, value in adict.()”改成, 为键,值在字典的括号内时 , 打印“key%s, value%s %(item, value)”, 即打印, 针对每次字典项里的键和对应值, 将对应的格式化字符串输出。这里前一个关于字典项的遍历表述更合理, 后一种括号内为空的情况不符合正常语法逻辑。需留意, 对于以 items 方法获取字典 adict 中键值对的遍历, 采用 for item 、 value in adict.items() 这种方式, 进行 print ‘key%s, ‘value%s, %(item, value) 这样的写法, 是不正确的。八、使用字典的注意事项1、不能允许一键对应多个值2、键必须是可哈希的。