Python快速学习06:词典

it2022-05-09  31

  系列文章:[传送门]

  上面讲的,特别是对象和类,大家好好体会。

  Python对象是Python语言的核心部分。今天介绍一个新类:词典(dictionary)

 

基本概念

  字典是Python 中的映射数据类型,工作原理类似关联数组或者哈希表,由键-值(key-value)对构成。几乎所有类型的Python 对象都可以用作键不过一般还是以数字或者字符串最为常用。值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。

 

例子

dic = {'tom':11,'sam':57,'lily':100} print (type(dic)) print (dic.keys()) print (dic.values())print (dic.items())

 

会有下面的输出

<class 'dict'> dict_keys(['sam', 'lily', 'tom']) dict_values([57, 100, 11])dict_items([('sam', 57), ('lily', 100), ('tom', 11)])

#可见dic是个 词典

#词典中的键的集合或者值的集合。方法Keys() 或 values() 返回一个列表,该列表是可排序的。 你还可以用 items()方法得到包含键、值对的元组的列表来排序。

由于词典本身是哈希的,所以是无序的。

 

何为哈希

  哈希表是一种数据结构:它按照我们所要求的去工作。哈希表中存储的每一条数据,叫做一个值(value),是根据与它相关的一个被称作为键(key)的数据项进行存储的。键和值合在一起被称为键-值 对”(key-value pairs)。 哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值。任何一个值存储的地址皆取决于它的键。正因为这种随意性,哈希表中的值是没有顺序的。

 

与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用

print (dic['tom']) dic['tom']=30 print (dic)

 

为词典增加一个新元素

dic["jeffLi"] = 99 print (dic)

#这里新建一个键,并赋予一个值。

 

词典的循环调用

for key in dic: print ('key=%s, value=%s' % (key, dic[key]))

#在循环中,dict的每个键,被提取出来,赋予给key变量。

 

会有下面的输出

key=lily, value=100 key=sam, value=57 key=tom, value=30

 

其他常用方法

del dict2['name'] # 删除键为“name”的条目 dict2.clear() # 删除dict2 中所有的条目 del dict2 # 删除整个dict2 字典 dict2.pop('name') # 删除并返回键为“name”的条目

#del是Python的保留字

 

总结

  #请不要用 dict, list,file, bool, str, input, len 这样的内建类型为变量命名。重载dict()会给你带来麻烦和潜在的bugs

    #词典的每个元素是键值对。元素没有顺序。

 

感谢及资源共享

    

    路上走来一步一个脚印,希望大家和我一起。

    感谢读者!很喜欢你们给我的支持。如果支持,点个赞。

    知识来源: http://book.douban.com/doulist/3870144/

转载于:https://www.cnblogs.com/Alandre/p/3667126.html

相关资源:数据结构—成绩单生成器

最新回复(0)