定义:

{key1:value1,key2:value2}

  1、键与值用冒号“:”分开;

  2、项与项用逗号“,”分开;

示例:

 dic4={
'name': 'xiaohu',
'age': 20,
'hobby': 'girl'
}

特性:

1、key-value结构

2、key必须为不可变数据类型、必须唯一

3、可存放任意多个value、可修改、可以不唯一

4、无序

查询速度快,且不受dict的大小影响,至于为何快?我们学完hash再解释。

字典两大特点: 无序,键唯一

dic = {1:'xiaohu','age':'20','hobby':{'name':'铁锤','age':45},'is_handsome':True}

print(dic)
print(dic['hobby']) # 字典和元祖都不可以做为键 因为他们都是可变的 字典可以作为后面的值
创建字典
 dic3 = dict((('','xiaohu'),)) #调用dict函数
print(dic3)

字典的操作

1、增

(1)直接新增键值对
 dic1={'name':'xiaohu'}
dic1['age']=20
print(dic1) #增加一个
(2)利用函数setdefault()进行添加

2、查

(1)dic[''] 直接利用key来查值
dic.keys()   dic.values()     dic.items()
 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
print(dic4['name']) print(dic4.keys()) # 通过keys方法来查看字典里所有的键,但是注意的是拿出来的不是一个列表 dict_keys(['name', 'age', 'hobby'])
print(type(dic4.keys())) #<class 'dict_keys'>
print(list(dic4.keys())) # ['name', 'age', 'hobby'] 将它转换成列表
print(list(dic4.values())) #['xiaohu', 20, 'girl'] 将它的值拿出来并且转换成列表
print(list(dic4.items())) # [('name', 'xiaohu'), ('age', 20), ('hobby', 'girl')]

3、
改 update
 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
dic4['age']=21
print(dic4) #{'name': 'xiaohu', 'age': 21, 'hobby': 'girl'}
dic5={'':111,'age':''}
dic4.update(dic5) # 将dic5加入到idc4中去,dic4发生改变,dic5不发生改变, 若有重复的键,将覆盖其值
print(dic4) # {'name': 'xiaohu', 'age': '2222', 'hobby': 'girl', '1': 111}
print(dic5) # {'1': 111, 'age': '2222'}

4、删 del clear pop popitem

 dic6={'name': 'xiaohu', 'age': 20, 'hobby': 'girl','height':''}
# del dic6['name'] # 删除的是一个键值对
# print(dic6) # dic6.clear() #删除一整个字典 字典删除后为空 # print(dic6.pop('age')) # 删除某一个索引,返回删除的值
# print(dic6) a=dic6.popitem() # 删除的是随机的
print(a,dic6)

5、涉及到的其他操作及方法

 dic7=dict.fromkeys(['host1','host2','host3'],'test')
print(dic7) # {'host1': 'test', 'host2': 'test', 'host3': 'test'}
dic8=dict.fromkeys(['host1','host2','host3'],['test','test2'])
print(dic8) # {'host1': ['test', 'test2'], 'host2': ['test', 'test2'], 'host3': ['test', 'test2']}

6、后话  字符串拼接 join方法

 a=''
b='abc'
e=''
c=a+b
print(c) # 123abc
d='---'.join([a,b,e]) # 通过‘---’将字符串拼接
print(d) # 123---abc---444

 7、字典与字符串的转换 利用eval()函数转换成字典

 a=str({'beijing':{'':1111}}) # 将字典类型转换成字符串类型,使之可以存到文件里
print(type(a))
print(a)
a=eval(a) # 使用eval()函数将字符串转换成字典类型,为了操作从文件取出来的字符串类型的字典进行操作,否则操作报错
print(type(a))
print(a['beijing'])

最新文章

  1. CocoaPods 1.1.0上传遇到swift问题
  2. Objective-C中小怪兽的逻辑
  3. TypeScript &amp; JavaScript
  4. cacti应用
  5. [水煮 ASP.NET Web API2 方法论](3-6)万能路由
  6. SharePoint 使用脚本为表单绑定事件
  7. shell脚本去重的几种方法
  8. org.apache.kafka.common.network.Selector
  9. Ubuntu 下 glpk 的安装及使用
  10. Azure VM对远程桌面登录的支持-示例
  11. VB.NET 内存指针和非托管内存的应用
  12. BZOJ 4197: [Noi2015]寿司晚宴( dp )
  13. hdu 1711---KMP
  14. Android 实战美女拼图游戏 你能坚持到第几关
  15. 自己实现memcpy,strcpy与strncpy
  16. 人生苦短之---认识Python
  17. Intel Digital Innovation Industry Summit(2018.08.17)
  18. 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline
  19. Eclipse下SpringBoot没有自动加载application.properties文件
  20. Java基本知识进阶

热门文章

  1. 同步与互斥_percpu变量
  2. Linux内存描述之内存页面page–Linux内存管理(四)
  3. LeetCode_225-Implement Stack using Queues
  4. POJ 3784 Running Median (模拟水过带翻译)
  5. vue-cli中使用jquery
  6. insert增数据详解
  7. PHP 插入排序 -- 直接插入排序
  8. ndnsim结果分析
  9. CentOS6.5下搭建FTP服务
  10. docker实验--redis集群搭建