Python基础数据结构之dict
2017-04-26 19:05
239 查看
本章是Python基础数据结构的第三篇,由于之前没有接触过太多的Python版本的数据结构,所以在学习的过程中集百家之长和自己的见解,加以实践,学习Python。
Python中用到dict的方法,和注意事项都以代码的形式体现
Python中用到dict的方法,和注意事项都以代码的形式体现
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017-4-24 10:35 # @Author : coderManFans # @Site : # python 字典(Dictionary) # 字典是另一种可变容器模型,且可存储任意类型对象 # 字典的每个键值(key-->value)对用冒号(:)分割 # 每个键值对之间用逗号(,)分割 # 键必须是唯一的,值不唯一 # 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字或者元组 # # 字典键,值的特性 # 1.字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但是键不行 # 2.不允许同一个键出现两次,否则只取最后一次的值为准 # 3.键必须不可变,所以可以用数字,字符串或者元组充当,所以用列表就不行、 # @File : dictDemo.py # @Software: PyCharm import operator #1.初始化 dict1 = {"Alice":"sdfasdfasdf","Beth":"sdfasdfasdfasdfasdf"} dict2 = {"abc":2323,"asdfasd":3.00023,99:99} #2. #3.访问字典里的值,如果键不存在则报错 print(dict1['Alice']) #4.修改字典里的值 dict1['Beth'] = 3.00030330303 print(dict1['Beth']) #5.删除字典里的元素 del dict2['abc'] #这一行报错 #print(dict2['abc']) #清空字典所有条目,字典中的键值对被清空,但是字典对象还存在 dict2.clear() print(dict2) #删除字典,包括键值对,字典对象 del dict2 dict3 = {"a":'a',"b":'b',"c":'c'} dict4 = {"a":'a',"b":'b',"c":'c',"d":'d'} #6. 字典内置函数&方法, #7.字典比较 # Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象 #print(cmp(dict3,dict4)) print(operator.eq(dict3,dict4)) #8.计算字典元素个数,就是键的总数 print(len(dict4)) print(len(dict3)) #9.字典字符串输出打印 print(str(dict4)) #10. 字典类型的判断,如果变量是字典就返回字典类型 print(type(dict4)) #11.字典内置方法 #11.1删除字典内所有元素 dict4.clear() #11.2 复制字典,返回字典的浅复制 dictCopy = dict3.copy() print(dictCopy) #11.3 从旧的字典创建新的字典 # fromkeys()函数用于创建一个新的字典,以序列seq中元素作为字典的键,value为字典所有键对应的初始值 # 语法 dict.fromkeys(seq,[,value]) # 参数 seq--字典键值列表, value--可选参数,设置键序列(seq)的值 # 返回值 返回字典新对象 # seq元组对象 seq = ('name','age','sex') newdict = dict.fromkeys(seq) #如果没有设置默认值的话,则所有默认值为None print(newdict) #统一设置默认值10 newdict2 = dict.fromkeys(seq,10) print(newdict2) #11.4返回指定键的值,如果值不在字典中,返回default值 = None print(newdict.get('name')) #11.5判断键是否在字典中存在,是返回true,否返回false #旧版本的has_key已经不用了,用下面的方法 print(newdict2.__contains__('name')) print(newdict2.__contains__('a')) #11.6 返回所有字典键值对,以列表返回可遍历(键,值)元组数组 #[('a':'a'),('b':'b'),,,,] for i in newdict2.items(): print(i) print(newdict2.items()) #11.7 设置默认值 dict.setdefault(key,default = None) 和get类似,如果键不存在与字典中, #将会添加键,并将值设置为default,否则不设置默认值 print(newdict2.setdefault('age',2324)) print(newdict2.get('age')) print(newdict2.setdefault('address',None)) #11.8 字典键值对更新,将dict1中的键值对,更新到dict2 # 注意如果有相同键,则以参数里的相同键对应的值为准,相当于newdict更新自己的值 newdict.update(newdict2) print(newdict) #11.9 返回字典中所有的值 print(newdict2.values()) #11.10 返回字典中所有的key print(newdict2.keys())
相关文章推荐
- Python基础数据结构之大循环(for list,set,dict,tuple)
- Python基础数据结构(list, str, tuple, dict)
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- python基础知识——内置数据结构(集合)
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
- python 基础2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange
- python---数据结构与数据类型,list,dict,tuple,排序sort,比较cmp,字符串模版
- Python基础,基本类型(整型,浮点数等)数据结构(List,dic(Map),Set,Tuple),控制语句(if,for,while,continue or break):来自学习资料
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
- Python基础数据结构之list
- Python基础概念_7_数据结构
- Python基础数据结构之tuple
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- 学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式
- Python基础学习----数据类型,字符串,内置数据结构
- Python程序设计基础 数据结构与算法习题
- 学点PYTHON基础的东东--数据结构,算法,设计模式---单向链表
- Python基础之数据结构
- Python学习笔记(5)--数据结构之字典dict
- 『Python』基础数据结构常见使用方法