python字典操作用法总结
基本语法:
dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
技巧:
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
可用命令:
root@yangrong:~# cd /python
root@yangrong:/python# python
Python 2.7.5+ (default, Sep 19 2013,13:48:49)
[GCC 4.8.1] on linux2
Type "help","copyright", "credits" or "license" for moreinformation.
>>> import tab
>>> d={}
>>> d.
d.__class__( d.__ge__( d.__len__( d.__setitem__( d.has_key( d.setdefault(
d.__cmp__( d.__getattribute__( d.__lt__( d.__sizeof__( d.items( d.update(
d.__contains__( d.__getitem__( d.__ne__( d.__str__( d.iteritems( d.values(
d.__delattr__( d.__gt__( d.__new__( d.__subclasshook__( d.iterkeys( d.viewitems(
d.__delitem__( d.__hash__ d.__reduce__( d.clear( d.itervalues( d.viewkeys(
d.__doc__ d.__init__( d.__reduce_ex__( d.copy( d.keys( d.viewvalues(
d.__eq__( d.__iter__( d.__repr__( d.fromkeys( d.pop(
d.__format__( d.__le__( d.__setattr__( d.get( d.popitem(
>>> d.
增加字典元素
>>> nameinfo={}
>>> nameinfo['a1']='yangrong' #若字典里有a1主键,则覆盖原来的值,没有,则添加
>>> nameinfo
{'a1': 'yangrong'}
遍历字典主键与键值
>>> for k, value in nameinfo.items():
... print k,value
...
a1 yangrong
查看字典所有主键
>>> dict = {'ob1':'computer','ob2':'mouse', 'ob3':'printer'}
>>>
>>>
>>> dict.keys()
['ob2', 'ob3', 'ob1']
判断字典中是否有该主键
>>> dict.keys()
['ob2', 'ob3', 'ob1']
>>> dict.has_key('ob2') #或'ob2' in dict
True
>>> dict.has_key('ob4')
False
也有人用循环方法来判断
for key in dict.keys():
但是这种方法毕竟不够简洁,
查看字典所有键值内容
>>> dict = {'ob1':'computer','ob2':'mouse', 'ob3':'printer'}
>>> dict.values()
['mouse', 'printer', 'computer']
列出所有项目
>>> dict.items()
[('ob2', 'mouse'), ('ob3', 'printer'),('ob1', 'computer')]
清空字典
>>> dict.clear()
>>> dict
{}
拷贝字典
>>> dict
{'ob2': 'mouse', 'ob3': 'printer', 'ob1':'computer'}
>>> a=dict
>>> a
{'ob2': 'mouse', 'ob3': 'printer', 'ob1':'computer'}
>>> b=dict.copy()
>>> b
{'ob2': 'mouse', 'ob3': 'printer', 'ob1': 'computer'}
比较字典
>>> cmp(a,b)
首先比较主键长度,然后比较键大小,然后比较键值大小,(第一个大返回1,小返回-1,一样返回0)
更新字典
>>>dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
>>> dict
{'xiaohei':set(["'age':'22','job':'dota'"]), 'yangrong': {'age': '23', 'job':'IT'}}
>>> dict['xiaohei']=111 #修改一级字典
>>> dict
{'xiaohei': 111, 'yangrong': {'age': '23','job': 'IT'}}
>>> dict['yangrong']['age']=25 #修改二级字典
>>> dict
{'xiaohei': 111, 'yangrong': {'age': 25,'job': 'IT'}}
>>> dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
>>>dict['xiaohei'][1]="dota2" #修改字典中列表某项,1是代表列表中第2个字符串。
>>> dict
{'xiaohei': ['22', 'dota2'], 'yangrong':['23', 'IT']}
删除字典元素
>>> dict
{'xiaohei': ['22', 'dota2'], 'yangrong':['23', 'IT']}
>>> del dict['xiaohei'] #删除xiaohei键值
>>> dict
{'yangrong': ['23', 'IT']}
>>> dict
{'yangrong': ['23', 'IT']}
>>>
>>> del dict['yangrong'][1] #删除yangrong主键的每2字值
>>> dict
{'yangrong': ['23']}
删除整个字典
>>> dict
{'yangrong': ['23']}
>>> dict.clear() #同del dict
>>> dict
{}
将字符串切分为列表
>>> s="hello world bye"
>>> s.split() #用于把有规律的文本,读取出来后,使用列表进行修改,再写入文件。
['hello', 'world', 'bye']
将列表转换为字符串
S.split(str, ' ') #将string转list,以空格切分
存储字典(pickle序列化)
#需导入pickle模块 import pickle
把字典内容存入文件
f=file('data.txt','wb') #新建文件data.txt,'wb',b是打开块文件,对于设备文件有用
pickle.dump(a,f) #把a序列化存入文件
f.close()
把内容读入字典(反序列化)
a=open('data.txt','rb') #打开文件
print pickle.load(a) #把内容全部反序列化
本文出自 “此心安处是吾乡” 博客,请务必保留此出处http://yangrong.blog.51cto.com/6945369/1364007
python字典操作用法总结的更多相关文章
- python 字典操作提取key,value
python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项 2.访问字典中的值 3.删除字典中的一项 4.遍历字典 5.字典遍历的 ...
- Python字典操作大全
//2018.11.6 Python字典操作 1.对于python编程里面字典的定义有以下几种方法: >>> a = dict(one=1, two=2, three=3) > ...
- python字典操作
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 代码如下: dict ...
- python 字典的用法,访问、增删合并等
python字典可以存储任意类型的对象,字典的每个键:值 冒号(:)分割,每个对直接逗号(,)分割,整个字典包含在{}中,例如:d = {key1 : value1, key2 : value2, k ...
- python字典操作和内置方法
一 字典基本介绍 python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型. 字典通过一个花括号,里面存放key:value的数据结构来定义.理论上 ...
- 【Python—字典的用法】创建字典的3种方法
#创建一个空字典 empty_dict = dict() print(empty_dict) #用**kwargs可变参数传入关键字创建字典 a = dict(one=1,two=2,three=3) ...
- python 字典操作
字典的常用操作: clear 功能:清空字典 dict_li = {'users':'swht','age':'18',} dict_li.clear() 返回结果:dict_li {} copy 功 ...
- 第3.5节 丰富的Python字典操作
一. 基本概念 Python提供一种通过名称来访问其各个值的数据结构,这种数据结构称为映射(mapping).字典(dict)是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下, ...
- Python——字典操作
一.取出字典中所有的key-value student={'name':'xiaoming','age':11,'school':'tsinghua'} for key,value in studen ...
随机推荐
- (5)Java数据结构--有继承图,用途分析
java 中几种常用数据结构 - u010947402的博客 - CSDN博客http://blog.csdn.net/u010947402/article/details/51878166 JAVA ...
- Javascript - Jquery - 事件
事件(Event) 文档事件 文档的载入事件 ready(fn) $(document).ready(function () { }); //或$(function () {}); //或$(docu ...
- Java基础3-数组操作;类概述
昨日内容回顾 数据类型 基本数据类型 1) byte, short, int, long, float, double 2) boolean[true, false] 3) char 100: 默认为 ...
- mysql忘记root密码,修改mysql密码
1.修改mysql配置文件 vim /etc/my.cnf #编辑文件 找到[mysqld],在下面添加一行 skip-grant :wq #保存退出 service mysqld restart ...
- Liunx系统命令sed的使用
作者:邓聪聪 Liunx命令中sed的使用历程 sed [-nefr] [动作]选项与参数:-n :使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出 ...
- linux下添加删除,修改,查看用户和用户组
一.组操作 1.创建组: groupadd test #增加一个test组 2.修改组 groupmod -n test2 test #将test组的名子改成test2 3.删除组 groupdel ...
- 遇到一个json解码失败的问题
今日批量导入游戏, 从别人接口拉去的字符串json_decode总是失败, 但是把log里面记录的解码失败的字符串copy出来单独解析,却可以成功. 排除了是字符编码的问题后, 还是不行, 百思不得其 ...
- python学习第38天
mysql的存储引擎(innodb,myisam)mysql支持的数据类型约束表的创建\删除\修改\查看表结构表与表之间的关系
- python-进程池与线程池,协程
一.进程池与线程池 实现并发的手段有两种,多线程和多进程.注:并发是指多个任务看起来是同时运行的.主要是切换+保存状态. 当我们需要执行的并发任务大于cpu的核数时,我们需要知道一个操作系统不能无限的 ...
- Android PermissionUtils:运行时权限工具类及申请权限的正确姿势
Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...