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. 不使用if switch 各种大于 小于 判断2个数的大小

    哥们写的代码: dword big; __asm { mov eax,a mov ebx,b cmp eax,ebx jle HOHO big =ebx HOHO: big = eax } 网上搜了一 ...

  2. c#/vb调用c编写的标准dll

    准备: 首先打开vc++ 6.0新建工程,选择Win32 Dynamic Link-Library,命名为stdLibrary 新建library.cpp文件,内容如下 #include <st ...

  3. db2 创建用户及授权

    1.创建系统用户dbuser/ehong隶属于db2users 2.C:\Program Files\IBM\SQLLIB\BIN>db2 connect to AKZXTEST数据库连接信息  ...

  4. struct的使用

    编写一个学生struct,成员有学号(id).姓名(name).成绩(5门课程),随机生成多个学生的学号.姓名和成绩存储到结构体数组.再根据总分进行排名并输出学生的信息和总分. stu.h #ifnd ...

  5. 右值引用和std::move函数(c++11)

    1.对象移动 1)C++11新标准中的一个最主要的特性就是移动而非拷贝对象的能力 2)优势: 在某些情况下,从旧内存拷贝到新内存是不必要的,此时对对象进行移动而非拷贝可以提升性能 有些类如IO类或un ...

  6. 类内初始值(c++11)

    1.概念 1)可以为数据成员提供一个类内初始值,创建对象时,类内初始值用于初始化数据成员,没有初始值的成员将被默认初始化 2)类内初始值和赋值类似,或者放在花括号里(如数组),或者放在等号右边,不能使 ...

  7. HDU 5956 The Elder (树上斜率DP)

    题意:给定上一棵树,然后每条边有一个权值,然后每个点到 1 的距离有两种,第一种是直接回到1,花费是 dist(1, i)^2,还有另一种是先到另一个点 j,然后两从 j 向1走,当然 j 也可以再向 ...

  8. LA 3213 Ancient Cipher (水题,转化)

    题意:给定两个长度相同的字符串,判断它们之间是否存在一一对应关系,顺序不定. 析:刚开始没看到顺序不定,然后写完没胡把样例看完就交了,结果WA了一次...其实这是一个水题,既然顺序不定,那么更简单,我 ...

  9. java浅拷贝和深拷贝

    转:http://blog.csdn.net/u014727260/article/details/55003402 实现clone的2点: 1,clone方法是Object类的一个方法,所以任何一个 ...

  10. 基于SceneControl单击查询功能的实现

    private void HandleIdentify_MouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e) { this. ...