Python---字典常用方法总结
字典是一种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---字典常用方法总结的更多相关文章
- python字典常用方法
字典(Dictionary) 字典是一个无序.可变和有索引的集合.在 Python 中,字典用花括号编写,拥有键和值. 实例 创建并打印字典: thisdict = { "brand&quo ...
- python中列表和字典常用方法和函数
Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表 ...
- 3. Python 字典 常用办法总结
Python字典客储存任意类型的对象,如字符串.数字.元祖.列表.字典.bool等. 优点:取值方便,速度快 1.创建字典 字典由键(key)和对应值(value)成对组成. 字典也被称作关联数组或哈 ...
- Python字典 你必须知道的用法系列
本文Python版本为3.7.X,阅读本文之前需了解python字典的基本用法. 介绍 字典(dict)是Python中内置的一个数据结构,由多个键值对组成,键(key)和值(value)用冒号分隔, ...
- python字典详细介绍
字典的用途 字典是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据. 字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key:另一组数据可通过 key 来访问,被称为 ...
- Python字典和集合
Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- python字典copy()方法
python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...
- python 字典实现类似c的switch case
#python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...
随机推荐
- Sublime Text3 插件:DocBlockr与javascript注释规范
原:http://www.ithao123.cn/content-719950.html 1.引子 在写代码的时候,尤其是写脚本,最需要注释了.目前脚本.样式的注释格式都有一个已经成文的约定规范(这些 ...
- jmeter命令行模式运行,实时获取压测结果
jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...
- Using keytool to import keystore
open command line and locate to the location of keytool.exe. import cert to keystore command: keyto ...
- VR外包公司—2016中国VR开发者论坛第一期
由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...
- Python3 函数注解
Python3提供一种语法,用于为函数声明中的参数和返回值附加元数据.下面的例子是注解后的版本,特点在第一行: 1 def clip(text : str, max_len : 'int > 0 ...
- 《剑指offer》第四十二题(连续子数组的最大和)
// 面试题42:连续子数组的最大和 // 题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整 // 数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n). #in ...
- DRF框架固定配置
1.认证Authentication 可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_ ...
- [C#]读取不同版本的excel文件的方法
--------------------------------2007及以上的版本-------------------------------- 测试如下: //DataInterface.Met ...
- Redis的安装及命令返回值
Linux下安装Reids : http://redis.io/download 下载最新稳定版本 wget http://download.redis.io/releases/redis-3.0.7 ...
- Virtualbox主机和虚拟机之间文件夹共享及双向拷贝
把文件发到VirtualBox的方法有很多,下面推荐两种: 1.把要共享的文件夹挂载到虚拟机某一个文件上: (1)打开虚拟机的设置,点击左边的“共享文件夹”,点击带加号的文件按钮,在文件夹路径选择要共 ...