1.字典

列表存储的数据比较单一也不够灵活,这时我们可以使用字典来存储某些多内容的数据,字典是无顺序的

1.简单的字典
book={
'huqiang':13457412571,
'Jasper':110110110111,
'despereado':784137611
}
输出结果:
{'Jasper': 110110110111, 'huqiang': 13457412571, 'despereado': 784137611}
2.字典里嵌套字典

book_list={
430424199103057689:{#字典里再加字典
'name':"huqiang",#name是key,huqiang是value
'age':"",
'addr':"hunan"
},
4304241991030571689: {
'name': "huqiang",
'age': "",
'addr': "hunan"
},
430424198903057689: {
'name': "huqiang2",
'age': "",
'addr': "hunan1"
}
}
print(book_list)
#字典是key-value对应,自动去重,比列表存储信息更灵活
输出结果:

{430424199103057689: {'age': '23', 'name': 'huqiang', 'addr': 'hunan'}, 4304241991030571689: {'age': '23', 'name': 'huqiang', 'addr': 'hunan'}, 430424198903057689: {'age': '231', 'name': 'huqiang2', 'addr': 'hunan1'}}

 

3.取key对应的value值

print(book_list[430424199103057689])
输出结果:
{'addr': 'hunan', 'age': '23', 'name': 'huqiang'} 4.修改value值
book_list[430424199103057689]['name']="abc"
print(book_list[430424199103057
)
输出结果:
{'age': '23', 'addr': 'hunan', 'name': 'abc'}
#提示:修改key值对应的value值,当key值不存在时会自动创建该值
book_list[430424199103057689]['email']="408473944@qq.com"
print(book_list[430424199103057689])
输出结果:
{'email': '408473944@qq.com', 'addr': 'hunan', 'name': 'abc', 'age': '23'}
5.删除字典
del book_list[430424199103057689]['age']   #key值后不指定删除名称则删除整个字典列
print(book_list[430424199103057689])
输出结果:
{'name': 'abc', 'email': '408473944@qq.com', 'addr': 'hunan'}
6.获取字典key值
v=book_list.get(430424199103057689110) #这个key值不存在
print(v)
#Get获取值,存在 则显示,不存在则None
输出结果:
None
7.更新字典
定义一个新字典book_list2
book_list2={
430424199103057689: {
'name': "111111111111", #name对应的值修改为111111111111,其它值保持不变,原字典结构必须保持,不然会全部修改为新的字典
'age': "23",
'addr': "hunan"
}
}
book_list.update(book_list2)
print(book_list[430424199103057689])
输出结果:
{'addr': 'hunan', 'age': '23', 'name': '111111111111'} 8.输出Key和value值
print(book_list.keys())
#打印字典所有key
print(book_list.values())
#打印字典所有value
9.字典应用for循环
循环字典里的key值
for key in book_list:
print(key)
输出结果:

430424199103057689
4304241991030571689
430424198903057689

循环字典的value值
for key in book_list:
print(book_list[key])
输出结果:

{'name': '111111111111', 'addr': 'hunan', 'age': '23'}
{'name': 'huqiang', 'addr': 'hunan', 'age': '23'}
{'name': 'huqiang2', 'addr': 'hunan1', 'age': '231'}

循环字典里的key对应的value值

for key in book_list:
print(key,book_list[key])
输出结果:

430424199103057689 {'name': '111111111111', 'age': '23', 'addr': 'hunan'}
4304241991030571689 {'name': 'huqiang', 'age': '23', 'addr': 'hunan'}
430424198903057689 {'name': 'huqiang2', 'age': '231', 'addr': 'hunan1'}

 

python学习之字典的更多相关文章

  1. Python学习笔记(字典)

    今天学习一个python中的基本类型--字典(dictionary) 字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息.在字典中,名字叫做“键”,对应的内容信息叫做“值”.字典 ...

  2. python学习09——字典(3)

    今天写了一道python字典题目,用了上次字典(2)中的方法,代码如下: json = {', 'IP':'10.0.0.1'} def find_value(themap, word): if wo ...

  3. Python学习07——字典(2)

    笨办法学Python第40节,上次用的第三版的书,这次是第四版的书. 这一节的代码如下: cities = {'CA':'San Francisco', 'MI':'Detroit', 'FL':'J ...

  4. python学习05——字典

    笨办法学python第39节 这节主要讲解的是字典,首先字典和列表的两个区别是: 1. 列表中可以通过数字找到列表中的元素,是数字作为索引的:字典中可以通过任何东西找到想要的元素,即字典可以将一个物件 ...

  5. Python学习笔记-字典

    字典是python中唯一内建的映射类型. 创建字典phonebook = {'Alice':'2341','Beth':'9102'} 可以使用dict通过其他映射或者键值对的序列建立字典.关键值参数 ...

  6. Python学习之字典详解

    在元组和列表中,都是通过编号进行元素的访问,但有的时候我们按名字进行数据甚至数据结构的访问,在c++中有map的概念,也就是映射,在python中也提供了内置的映射类型--字典.映射其实就是一组key ...

  7. python学习:字典排序

    按字典值排序   按照字典value排序,类似sort -k 命令   import operator x= {1:2,3:4,4:3,2:1,0:0} sorted_x = sorted(x.ite ...

  8. python学习之字典(Dictionary)练习

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型 字典中分为键值对 , key 类型需要时被哈希. value 类型可以是 字符串.数字.元组等其他容器模 ...

  9. python 学习分享-字典篇

    python字典(Dictionary) dict是无序的 key必须是唯一切不可变的 a={'key1':'value1','key2':'value2'} 字典的增删改查 a['key3']='v ...

  10. python学习10字典

    '''''''''字典(Dict)是python语言的一个最大的特征1.定义:是可变的无序集合,以键值对为基本元素,可以存储各种数据类型2.表示:{} 列表:[] 元组 () 字符串 ‘’ “” ‘‘ ...

随机推荐

  1. spring security动态管理资源结合自定义登录页面

    如果想将动态管理资源与自定义登录页面一起使用,最简单的办法就是在数据库中将登录页面对应的权限设置为IS_AUTHENTICATED_ANONYMOUSLY. 因此在数据库中添加一条资源信息. INSE ...

  2. linux应用与发展(上)

    UNIX/Linux发展历史 当年,没有cmm的概念,也没什么PMP认证什么的,导致了MIT,GE,AT&T联合开发multics失败,multics是一个复杂多功能的操作系统.开发者想要开发 ...

  3. poj2142-The Balance(扩展欧几里德算法)

    一,题意: 有两个类型的砝码,质量分别为a,b;现在要求称出质量为d的物品, 要用多少a砝码(x)和多少b砝码(y),使得(x+y)最小.(注意:砝码位置有左右之分). 二,思路: 1,砝码有左右位置 ...

  4. ubuntu下wine安装软件

    安装wine 1. sudo apt-get install playonlinux playonlinux就是wine.或者在软件中心,搜索wine. 2. 在dash搜索playonlinux 安 ...

  5. http://highscalability.com/blog/2015/5/18/how-mysql-is-able-to-scale-to-200-million-qps-mysql-cluster.html

    http://highscalability.com/blog/2015/5/18/how-mysql-is-able-to-scale-to-200-million-qps-mysql-cluste ...

  6. IOS 单例模式的写法

    iOS的单例模式有两种官方写法,如下: 1)不使用GCD的方式 #import "Manager.h" static Manager *manager; @implementati ...

  7. git pull时出现unable to unlink old 一个不该犯下的错误

    在日常开发中,当团队内有人将新的代码打成jar文件提交,并且未改名的时候,可能会出现这样的错误"error: unable to unlink old 'Test/lib/xxx-1.0.0 ...

  8. 检测中文长度gbk下2个字节

    //$str = 'fff&sdf你是sdf好fdf啊b歌hello中world';$str = 'd你b_fff是好啊歌中潺潺 ';echo chineselength($str).&quo ...

  9. php随机数、时间、字符串函数,正则,数组函数

    <?php//1.随机数和时间//echo rand(); //随机数生成器//echo rand(0,10); //生成某个范围内的随机数 //echo time(); //取当前时间戳//e ...

  10. RDIFramework.NET ━ 9.10 岗位(职位)管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.10  岗位(职位)管理 -Web部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改.删除. ...