字典的操作:

#字典的本质其实是dict类的对象
>>> a = dict([("a","")])
>>> a
{'a': ''}

一.增加

 >>> student_num = {"stu1101": "阿橙", "stu1102": "阿万", "stu1103": "阿朝", "stu1104": "peter1",}
>>> student_num["stu1105"] = "zebra" #增加
>>> print(student_num)
{'stu1101': '阿橙', 'stu1102': '阿万', 'stu1103': '阿朝', 'stu1104': 'peter1', 'stu1105': 'zebra'}
>>>

二.修改

 >>> student_num = {"stu1101": "阿橙", "stu1102": "阿万", "stu1103": "阿朝", "stu1104": "peter1",}
2 >>> student_num["stu1101"] = "gkx" #修改
>>> student_num
{'stu1101': 'gkx', 'stu1102': '阿万', 'stu1103': '阿朝', 'stu1104': 'peter1', 'stu1105': 'zebra'}

三.删除

 >>> #删除
2 >>> student_num.pop("stu1104") #标准删除方法
'peter1'
>>> student_num
{'stu1101': 'gkx', 'stu1102': '阿万', 'stu1103': '阿朝', 'stu1105': 'zebra'}
>>>
>>>
8 >>> del student_num["stu1105"]
>>> student_num
{'stu1101': 'gkx', 'stu1102': '阿万', 'stu1103': '阿朝'}
>>> #ptyhon内置的删除方法
>>>
13 >>> student_num.popitem() #随机删除
('stu1103', '阿朝')
>>> student_num
{'stu1101': 'gkx', 'stu1102': '阿万'}
>>>

四.查找

 >>> #查找
>>> zoo = {"a101":"zebra","b202":"chimpanzee","c303":"lion"}
3 >>> "a101" in zoo #判断字典中key是否在dict中
True
>>>
6 >>> zoo["a101"]
'zebra'
>>> #用key来查找value,不过当key不在该dict中时,会报错
>>>
10 >>> zoo.get("d404")
>>> print(zoo.get("d404"))
None
>>> print(zoo.get("c303"))
lion
>>> #用.get的方法,找不到不会报错,建议使用

五.字典的循环和自动生成


  >>> zoo.values()  #打印所有value
  dict_values(['zebra', 'chimpanzee', 'lion'])
  >>> zoo.keys()    #打印所有key
  dict_keys(['a101', 'b202', 'c303'])

 >>> zoo2
{'c303': 'lion', 'd404': 'elephant', 'c4': 'tiger'}
3 >>> for key in zoo2: #打印key和value
print(key,zoo2[key]) >>>
c303 lion
d404 elephant
c4 tiger
>>> 12 >>> for k,v in zoo2.items(): #数据量大时不要用
print(k,v) >>>
c303 lion
d404 elephant
c4 tiger
>>> 21 >>> c = dict.fromkeys([1,2,3],[4,5,6]) #位置1是key,位置2不管写啥都是values,不过若位置2为[4:{"name":"6"}],生成的字典,若修改其中一个[4:{"name":"6"}]字典里的值,其他value也都会一起改,
类似浅copy

print(c)
{1: [4,5,6], 2: [4,5,6], 3: [4,5,6]}

六.字典的其他操作

 >>> #setdefault
>>> zoo2 = {"a101":"zebra","b202":"chimpanzee","c303":"lion"}
3 >>> zoo2.setdefault("a101","cat") #setdefault 判断key是否在dict中,若在则不做修改,若不在则将新key添加至dict中
'zebra'
>>> zoo2
{'a101': 'zebra', 'b202': 'chimpanzee', 'c303': 'lion'}
7 >>> zoo2.setdefault("d404","elephant")
'elephant'
>>> zoo2
{'a101': 'zebra', 'b202': 'chimpanzee', 'c303': 'lion', 'd404': 'elephant'}
>>> >>> zoo2
{'c303': 'lion', 'd404': 'elephant'}
>>> dict_b = {1:2,2:3,"c4":"tiger"}
16 >>> zoo2.update(dict_b) #类似列表中的extend,若 dict_b中有和zoo2交叉的key,会更新为dict_b中的valu
>>> zoo2
{'c303': 'lion', 'd404': 'elephant', 1: 2, 2: 3, 'c4': 'tiger'} >>> #items
21 >>> zoo2.items() #将字典中的key、value值对,一对对拿出,生成为新列表
dict_items([('c303', 'lion'), ('d404', 'elephant'), (1, 2), (2, 3), ('c4', 'tiger')])
>>>

 字典的方法有:fromkeys , pop , popitem , setdefault , clear , copy , keys , values , items , update , get

字典只能存字符串或者二进制:

如果想存其他格式的,要用str() 强制转换一下

 

Python—字典的操作的更多相关文章

  1. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  2. Python字典增删操作技巧简述

    Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...

  3. !!Python字典增删操作技巧简述+Python字典嵌套字典与排序

    http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...

  4. 【python】Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'} ...

  5. Python字典的操作与使用

    字典的描述 字典是一种key-value的数据类型,使用就像我们上学用的字典,通过拼音(key)来查对应字的详细内容(value). 字典的特性 1.字典是无序的(不像列表一样有下标,它通过key来获 ...

  6. python 字典相关操作

    字典 字典的增删改查 字典的创建方式: # 创建字典类型 info = { 'name':'李白', 'age':'25', 'sex':'男' } msg = { 'user01':'Longzel ...

  7. python字典的操作

    思维导图如下 1.字典的增加 dic1={'name':'wujie','age':18,'gender':'男'} dic1['profession']='python全栈' dic1.setdef ...

  8. python 字典元素操作

    #字典创建>>> dict2 = { 'abc': 123, 98.6: 37 }>>> dict2[98.6]37>>> dict2[" ...

  9. python 字典所有操作

    # 字典的创建# dict1 = {}# print(type(dict1))## dict2 = {# 'name':'汪峰',# 'sex':'男',# 'hiredate':'1997-10-2 ...

随机推荐

  1. 商务通服务器版LR_Data目录下相关配置文件

    SiteSetting.config 这个文件保存权限角色(超级管理员,管理员等)角色权限.弹窗图片.客服的自动应答等内容. operatorsql8.config SQLite 数据库文件,保存登录 ...

  2. 十、无事勿扰,有事通知(1)——NSNotification

    概述 很久很久以前,有一只菜鸟正在美滋滋的撸着他的嵌入式C代码.然而有一天,老板对菜鸟说:“别撸C了,从现在开始你就写swift开发ios了.”菜鸟一脸懵逼,但还是照做了. 又有一天,菜蛋谄媚的对菜鸟 ...

  3. Python之猴子补丁

    1.在运行时,对属性,方法,函数等进行动态替换 2.其目的往往是为了通过替换,修改来增强,扩展原有代码的能力 #test2.py class Person: def get_score(self): ...

  4. Django简单实例

    一.前戏-MVC框架与MTV框架 1.MVC MVC(Model View Controller),是一种软件工程开发的架构模式,不仅适用于软件开发,而且适用于其他广泛的设计和组织工作,主要思想通过分 ...

  5. rocketmq源码打包步骤

    1,从git上面克隆好源码之后,进入rocketmq目录,执行: mvn -Prelease-all -DskipTests clean install 2,打包完成之后,进入distribution ...

  6. Select input 两个元素的宽度高度跟设定值不一致的问题

    在做登录框的时候,需要一个select 元素作为账号输入,一个input作为密码输入框.在css 文件中,将这两个元素的position 设置为relative ,并且width 设置为100%.刷新 ...

  7. sed command

    https://blog.csdn.net/solaraceboy/article/details/79272344

  8. Oracle经典书籍

    Oracle实用教程 深入浅出Oracle

  9. js cookie缓存处理

    function setCookie(cnameList,cvalueList,exdays){ var d = new Date(); d.setTime(d.getTime()+(exdays*2 ...

  10. 一道简单树形dp

    题意:给定一棵树,从中选出一些节点,使得不成父子关系的节点对数最多.问这个最大值是多少. 思路:首先既然是给定一颗树,先要选择合适的数据结构,来保存这颗树.由于这颗树只关心根节点在哪里,所以只需要用一 ...