Python基础数据结构之dict
来源:互联网 发布:京东关键词优化 编辑:程序博客网 时间:2024/06/08 06:54
本章是Python基础数据结构的第三篇,由于之前没有接触过太多的Python版本的数据结构,所以在学习的过程中集百家之长和自己的见解,加以实践,学习Python。
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: PyCharmimport operator#1.初始化dict1 = {"Alice":"sdfasdfasdf","Beth":"sdfasdfasdfasdfasdf"}dict2 = {"abc":2323,"asdfasd":3.00023,99:99}#2.#3.访问字典里的值,如果键不存在则报错print(dict1['Alice'])#4.修改字典里的值dict1['Beth'] = 3.00030330303print(dict1['Beth'])#5.删除字典里的元素del dict2['abc']#这一行报错#print(dict2['abc'])#清空字典所有条目,字典中的键值对被清空,但是字典对象还存在dict2.clear()print(dict2)#删除字典,包括键值对,字典对象del dict2dict3 = {"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)#如果没有设置默认值的话,则所有默认值为Noneprint(newdict)#统一设置默认值10newdict2 = dict.fromkeys(seq,10)print(newdict2)#11.4返回指定键的值,如果值不在字典中,返回default值 = Noneprint(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 返回字典中所有的keyprint(newdict2.keys())
0 0
- Python基础数据结构之dict
- Python基础学习之基本数据结构Dict
- python基础之dict
- Python基础之字典dict
- Python基础篇之dict
- Python基础数据结构之数据转换(Dict,Set,Tuple,List)
- Python基础数据结构之大循环(for list,set,dict,tuple)
- python基础入门之(list、dict)
- python基础之Dict和Set类型
- Python基础语法之dict和set
- python dict 数据结构遍历
- Python基础数据结构(list, str, tuple, dict)
- python - 基础类型 - dict
- Python基础-dict字典
- Python基础--dict
- python基础--dict{}
- python之dict
- PYTHON之Ordered Dict
- ZOJ 3959 Problem Preparation 【】
- 时钟
- 移动端UI自动化Appium测试——DesiredCapabilities参数配置及含义
- OCLint 安装与使用
- Linux学习笔记之浅谈init命令
- Python基础数据结构之dict
- fusionChart 中 总是遇到 loading chart. please wait.
- 大白 计算几何专题 凸包、半平面交、平面区域 部分例题练习题总结
- Hive 用ROW_NUMBER取每组top n
- vector 中 erase 用法注意事项
- 2017浙江省选二试第二天游记
- Android长连接之mina
- 正则表达式
- linux下常用的命令