1. 例子 ,务必理解

dic = {    'name':'金鑫',
'name_list':[1,2,3,'李杰'],
1:{
'python10':['小黑','萌哥'],
'老男孩':{'name':'oldboy','age':56}
}
}
#1,[1,2,3,'李杰']追加'wusir'
dic["name_list"].append("wusir")
print(dic) #2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
dic[1]["python10"].insert(1,"花哥")
print(dic) #3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人 dic[1]["老男孩"]["hobby"]="男人"
print(dic)

2 字典的增删改操作

1. 增

dic={"name":孟宾 ,“age”:18,"sex":"male"}

dic【key】=vale

dic【“name2”】=“依米”

#字典里没有name2 的key,所以在最后添加“name2":"依米”

即 dic={"name":孟宾 ,“age”:18,"sex":"male",“name2":"依米”}

如果 dic【“name”】=“依米”  ,name 在dic字典里有这个key那么则替换

dic={"name":依米 ,“age”:18,"sex":"male"}

规则为 : 有key则覆盖,没有key则在后面添加.

dic["name"]="王子"
print(dic)
dic.setdefault("name1","dsfe")
dic.setdefault("name","mengbin")
print(dic)
输出结构为:

{'name': '王子', 'age': 18, 'sex': 'male'}
{'name': '王子', 'age': 18, 'sex': 'male', 'name1': 'dsfe'}

原则为:有key不变,没key 则添加.

2. 删除

rect=dic.pop("sex")
print(rect)
print(dic) 有返回值。
rect=dic.pop("name1","dfadsmeng")
print(rect)
结果:dfadsmeng
如果没有此name1 key ,则返回 值为dfadsmeng ②
del dic["name"]
print(dic)
结果:
{'age': 18, 'sex': 'male'} del dic
删除字典 ③
dic.popitem()
print(dic)
随机删除(最后开始删除)
输出结果为
{'name': 'jin', 'age': 18}
3更改  

dic【“key”】=value

dic2.update(dic)

dic ={"name":"jin","age":18,"sex":"male"}
dic2={"name":"alex","work":"计算机"}
dic2.update(dic)
print(dic2) 将dic的键值对覆盖增加到dic2 中 输出结果:
{'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'} 4 查
print(dic["name"])
print(dic["name"])
print(dic.get("name"))
print(dic.get("name1","没有此键值对")) #有返回值。
5 打印处字典里的Key或者Value或者键值对
dic={'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'}
keys= dic.keys()#打印字典中的key
print(key) k = list(key)#将所有key转换成列表
print(key,type(key))
print(k)
输出的结果:

dict_keys(['name', 'age', 'sex']) <class 'dict_keys'>
['name', 'age', 'sex']

②

dic={'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'}
values= dic.values()#打印字典中的value
print(values) k=list(values)#将所有value转换成列表
print(k)
结果:

dict_values(['jin', 18, 'male'])
['jin', 18, 'male']

 ③

将键值成对打印出来
dic ={"name":"jin","age":18,"sex":"male"}
items= dic.items()
print(items)
k=list(items)
print(k)
打印结果

dict_items([('name', 'jin'), ('age', 18), ('sex', 'male')])
[('name', 'jin'), ('age', 18), ('sex', 'male')]

6. For循环
dic ={"name":"jin","age":18,"sex":"male"}
for k in dic.keys() :#或者 for k in dic
print(k) for v in dic.values() :
print(v)
输出结果:

name
age
sex
jin

male

dic ={"name":"jin","age":18,"sex":"male"}
for i in dic.items():#以元祖形式打印出来
 print(i,type(i))
#
for k,v in dic.items():#以字符串形式打印出来
print(k,v,type(k))
打印结果为

('name', 'jin') <class 'tuple'>
('age', 18) <class 'tuple'>
('sex', 'male') <class 'tuple'>
name jin <class 'str'>
age 18 <class 'str'>
sex male <class 'str'>

 
 

Day 5 字典的操作的更多相关文章

  1. Python字典的操作与使用

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

  2. python-类对象以字典模式操作

    #类对象以字典模式操作 class Person: def __init__(self): self.cache={} def __setitem__(self, key, value): #增加或修 ...

  3. Python—字典的操作

    字典的操作: #字典的本质其实是dict类的对象 >>> a = dict([(")]) >>> a {'} 一.增加 >>> stud ...

  4. Python基础学习----字典常用操作

    字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...

  5. Dict字典的操作

    字典的操作 1.字典新增键值对 已存在内容的字典新增 alient_0 = {"color":"green",position:10} alient_0[&qu ...

  6. swift(三)字典数组操作

    //1.数组的概念和定义 var array = [,,,] var array1:Array = [,,,] var array2:Array<Int> = [,,,]; var arr ...

  7. python 深浅拷贝 元组 字典 集合操作

    深浅拷贝 :值拷贝 :ls = [,,] res = ls 则print(res)就是[,,] 浅拷贝 :ls.copy() 深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表 ...

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

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

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

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

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

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

随机推荐

  1. java 错误: 找不到或无法加载主类

    这个问题应该很常见的,笔者经常手工编译一些测试代码或者小工具,经常用到 javac和java来编译并运行一些简单的小工具. 以Hello World来测试. HelloWorld.java publi ...

  2. Codeforces C. NP-Hard Problem 搜索

    C. NP-Hard Problem time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...

  3. UI设计小白怎样学才能快速入门?

    最近有很多同学问我,UI小白有什么捷径可以快速入门?其实我想说设计这门学科没有什么捷径,真的只有多学.多看.多练.多想.多做. 1.先学软件 如果你是小白,软件也不会用,那就先学软件,从PS开始,先看 ...

  4. UI小白如何快速提升自己

    作为一名经历过UI学习的过来人,这些观点是自己在整个学习的过程中总结的. 希望可以对大家有所帮助,可以让刚开始接触UI的人少走弯路吧,话不多说. 快速进入主题. ​ 那么UI小白到底如何快速提成自己呢 ...

  5. Java WebService 教程系列之 Spring 整合 CXF

    Java WebService 教程系列之 Spring 整合 CXF 一.引入 jar 包 <dependency> <groupId>org.apache.cxf</ ...

  6. easyui-从数据库读取创建无极菜单

    easyui-tree基础必须知道这个如下: 树控件使用<ul>元素定义.标签能够定义分支和子节点.节点都定义在<ul>列表内的<li>元素中.以下显示的元素将被用 ...

  7. maven 编译的时候总是报一些奇怪的错误 比如 surefire-boot 2.10 .jar 可是私服里查看本来就没有这个高的版本。

    或者私服总是 报 read time out , 或者  io 错误,  或者 gzip 解压错误,或者总是尝试下载一些高版本的jar , 而这些jar 可能是不存在的 .. 尝试 重新下载 apac ...

  8. 2018.10.16 NOIP模拟 华莱士(并查集)

    传送门 按照题意模拟维护最小的环套树森林就行了. 然而考试的时候naivenaivenaive瞎写了一个错误的贪心. 代码

  9. 2018.07.08 NOIP模拟 好数(线段树)

    好数 题目背景 SOURCE:NOIP2016-AHSDFZ T3 题目描述 我们定义一个非负整数是"好数",当且仅当它符合以下条件之一: 1. 这个数是 0 或 1 . 2. 所 ...

  10. UVa 10881 Piotr's Ants (等价变换)

    题意:一个长度为L的木棍上有n个蚂蚁,每只蚂蚁要么向左,要么向右,速度为1,当两只蚂蚁相撞时, 它们同时掉头.给定每只蚂蚁初始位置和朝向,问T秒后,每只蚂蚁的状态. 析:刚看到这个题时,一点思路也没有 ...