本文共 1845 字,大约阅读时间需要 6 分钟。
****************** 字典类型 ******************
为什么需要字典类型?
>>> list1 = ["name", "age", "gender"] >>> list2 = ["fentiao", 5, "male"] >>> zip(list1, list2) //通过zip内置函数将两个列表结合,help(zip) [('name', 'fentiao'), ('age', 5), ('gender', 'male')]>>> list2[0]Out[12]:
//在直接编程时,并不能理解第一个索引表示姓名 'fentiao' >>> list2[name] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers, not str 故字典是python中唯一的映射类型,key-value(哈希表),字典对象是可变的,但key必须用不可变对象。字典的定义
简单字典创建>>> dic = {"name":"fentiao", "age":5, "gender":"male"}
>>> dic[0] //不能通过索引提取value值 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 0 >>> dic["name"] //根据key找出value值 'fentiao'内建方法:fromkeys
字典中的key有相同的value值,默认为None
字典值的访问
直接通过key访问循环遍历访问
字典key-value的添加
dic[key] = value 通过这个操作,我们会发现字典是无序的数据类型字典的更新
dic.update(dic1)
字典的删除
dic.pop(key) 根据key值删除字典的元素;>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao', 'kind': 'cat'} >>> dic.pop("kind") //弹出字典中key值为"kind"的元素并返回该key的元素 'cat' >> dic {'gender': 'male', 'age': 8, 'name': 'fentiao'} dic.popitem() 随机删除字典元素,返回(key,value)>>>dic.popitem()
('gender', 'male')>>> dic
{'age': 5, 'name': 'fentiao'} dic.clear() 删除字典中的所有元素>>> dic.clear() //删除字典的所有元素Out[22]:
>>> dic {} del dic 删除字典本身>>> del dic //删除整个字典
>>> dic Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'dic' is not defined字典的常用方法
dict.get() 如果key存在于字典中,返回对应value值>>>dic.get('age')
5 >>>dic.get('gender') 'male' dic.keys() 返回字典的所有key值>>>dic.keys()
['gender', 'age', 'name']dic.values() 返回字典的所有value值
>>>dic.values()
['male', 5, 'fentiao']dict.has_key() 字典中是否存在某个key值
>>>dic.has_key('name')
True >>>dic.has_key('age') True dic.items()>>>dic.items()
[('gender', 'male'), ('age', 5), ('name', 'fentiao')]示例:
转载地址:http://ipkra.baihongyu.com/