字典是一种key-value的数据类型,字典里必须写Key和value,字典的优点是取数方便和速度快。
字典的特性:
      1.字典是无序的,因为它没有下标,用key来当索引,所以是无序的
      2.字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

一、创建字典,字典的定义使用大括号{ },每个值用“,”隔开,key和value使用“:”分隔。

dict = {'name':'张凯','sex':'男','address':'火星','age':''}

二、字典的增删改查
2.1  新增

dict['phone']=17700000000    #增加一对key,value,如果key存在的话,会修改原来key对应的value值

dict.setdefault('name','xiao')   #如果key存在的话,并不会修改key对应value的值,只能新增

2.2  删除

dict.pop('name')  #指定key来删除

dict.popitem()   #随机删除一个key

del dict['phone'] #指定key来删除

dict.clear()   #清空字典

2.3  修改

dir ={'a':'b'}

dict.update(dir)  #合并字典,把dir字典的元素加入都dict字典中,更新字典值,如果key存在的话,就更新value,不存在就添加

dict['name']='xiao'  #如果key存在的话,会修改原来key对应的value值

2.4  查询

print(dict.get('name'))  #取不到key的话,会返回None

print(dict.get('yy','小黑'))  #如果取不到这个key的话,默认就是小黑

print(dict['yy'])  #如果key不存在,会报错

2.4.1  字典的内置方法

print(dict.keys())#获取字典所有的key

print(dict.values())#获取到字典所有的value

print(dict.items())#获取字典所有的key 和value

print(dict.update(new_infos))#更新字典值,如果key存在的话,就更新,不存在的话就添加
print(dict.items())   #输出一个list格式(非真正意义上的list)
#打印结果:
dict_items([('name', '张凯'), ('sex', '男'), ('address', '火星'), ('age', '')]) print(list(dict.items())) #把字典的key 和 value 转成一个多维list
#打印结果:
[('name', '张凯'), ('age', ''), ('address', '火星'), ('sex', '男')]

实例如下:

people = {
'ff':{
'age':18,
'money':100,
'clothes':'10套'
'hzp''n多',
'shose':['nike','addise','lv','chanle'] },
'rr':{
'金库':'100W',
'house':['三环','四环'],
'cars':{
'japan':['普拉多','兰德酷路泽'],
'usa':['林肯','凯迪拉克','福特'],
'china':['五菱宏光','qq','红旗'] }
}
} print(people['rr']['cars']['china'][1]) #取值QQ print(people['ff']['age']) #取值age a= people['ff']['shose']=('牧马人') #在ff的shose里增加牧马人 b = people['ff']['shose'].append('牧马人2') print(people['ff']['shose'])

三、循环字典
直接循环一个字典的话,那么循环的是字典的key

for p in people:
print(p)

循环的时候,同时取key和value

for k,v in people.items():  #循环的时候,同时取key和value

    print(k,'===>',v)

字典里面用in来判断的话,只是判断key是否存在

users ={
'niuhanyang':'',
'xiaohei':''
} print('' in users) #字典里面用in来判断的话,只是判断key是否存在 #打印结果:False

四、字典的排序

d ={'a':4,'b':2,'c':3}

#字典是无序的,直接对字典排序是不存在的

print(d.items())  #结果是一个二维数组

res = sorted(d.items(),key=lambda x:x[1])
#sorted排序是根据key来排序 print(res) for k,v in res: print(k,v)

五、修改字典的key
方法:先删除原键值对,保存值,然后以新键插入字典
格式:dict[nwekey]=dict.pop(key)

dic = {'id':1, 'xingming':"张三"}
dic['name'] = dic.pop('xingming') print(dic)
#输出:{'id': 1, 'name': '张三'}

执行语句:dict.pop('xingming')是删除 'xingming'所对应的键值对,返回 'xingming'对应的值;d['b'],相当于给字典新添加一个key,其value为d.pop('xingming')返回的值。

dic = {'id':1, 'xingming':"张三"}
value=dic.pop('xingming') print(value)
#输出:张三

5.1 循环删除字典里的键值对

lis = [{'id':1, 'name':"张三"},{'id':2, 'name':"张三"}]
for key,Indic in enumerate(lis):
for k in list(Indic.keys()):
if k=='id':
Indic.pop('id')
print(lis)
#输出:[{'name': '张三'}, {'name': '张三'}]

六、字典小练习

for i in range(3):
username = input('账号:').strip()
passwd =input('密码:').strip()
cpasswd =input('再次输入密码').strip()
if username == '' or passwd == '':
print('用户名密码不能为空')
elif username in users:
print('用户名已经被注册!')
elif passwd != cpasswd:
print('两次密码不一致')
else:
print('恭喜注册成功!')
users.setdefault(username,passwd)
#users[username]=passwd
break
else:
print('错误次数过多')
print(users)

Python---字典常用方法总结的更多相关文章

  1. python字典常用方法

    字典(Dictionary) 字典是一个无序.可变和有索引的集合.在 Python 中,字典用花括号编写,拥有键和值. 实例 创建并打印字典: thisdict = { "brand&quo ...

  2. python中列表和字典常用方法和函数

    Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表 ...

  3. 3. Python 字典 常用办法总结

    Python字典客储存任意类型的对象,如字符串.数字.元祖.列表.字典.bool等. 优点:取值方便,速度快 1.创建字典 字典由键(key)和对应值(value)成对组成. 字典也被称作关联数组或哈 ...

  4. Python字典 你必须知道的用法系列

    本文Python版本为3.7.X,阅读本文之前需了解python字典的基本用法. 介绍 字典(dict)是Python中内置的一个数据结构,由多个键值对组成,键(key)和值(value)用冒号分隔, ...

  5. python字典详细介绍

    字典的用途   字典是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据. 字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key:另一组数据可通过 key 来访问,被称为 ...

  6. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  7. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  8. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  9. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  10. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

随机推荐

  1. 1、My Scripts

    1.写一个包含命令.变量和流程控制的语句来清除/var/log的messages日志文件的shell脚本.(P26)(11-21) 2.利用$0和(dirname.basename)取出当前路径的目录 ...

  2. 前端单页面富应用(SPA)的实现

    一. 什么是单页面富应用? 单页面应用:Single Page Application 概念:Web应用即使不刷新也在不同的页面间切换,解决浏览器前进.后退等机制被破坏等问题.并且页面访问会被浏览器保 ...

  3. mysql索引使用

    原文:http://www.jianshu.com/p/2b541c028157 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型.在 ...

  4. Redis notes

    一. Redis简单介绍 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用AN ...

  5. nginx的使用教程

    一.基本概念 1.1 正向代理和反向代理 (参考文档:https://www.cnblogs.com/hafiz/p/7233306.html) 假设我们给定客户端A.代理服务器B.以及最终服务器C ...

  6. NET Core 指令启动

    ASP.NET Core 是新一代的 ASP.NET,早期称为 ASP.NET vNext,并且在推出初期命名为ASP.NET 5,但随着 .NET Core 的成熟,以及 ASP.NET 5的命名会 ...

  7. JavaEE编程实验 实验1 Java常用工具类编程(未完成)

    1.使用String类分割split将字符串“Solutions to selected exercises can be found in the electronic document The T ...

  8. ip啊

    网络模型被OSI分成七层,TCP/IP协议大致对应了2.3.4.7层,分别是数据链路层.网络层.传输层.应用层,IP协议处于网络层上,它的工作原理说白了并不复杂: 整个互联网上所有的机器都有唯一一个I ...

  9. django序列化 serializers

    Django的序列化工具让你可以将Django的模型‘翻译’成其它格式的数据.通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程. 一.序列化数据 Django为我们提供了一个强大 ...

  10. python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息

    背景介绍: 发送搜索请求时,需要用到登录接口返回值中的token值 代码实现: 登录代码: 搜索接口: