Python字典的小析(增删改查)

作为Python的初学者,难免会为了一两个小问题找资料,然而一找资料,发现Python关于字典这方面的解析很少,我在此稍稍解析一下字典的用法和含义,若有不足,望大家批评。(在这我直接以代码形式为大家解析)

先来讲讲我对字典的理解吧

简单粗暴,字典就是键值对,而且是无序的,可控的键值对,并且python中字典可以嵌套字典

一、字典的创建

1、传统的文字表达式

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}

2、动态分配(也可以用于给字典添加新的键值对)

b={}
b[‘name’]=’Tom’
b[‘age’]=20
b[‘job’]=’Student’
print b
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}

    这也可以用于给字典添加新的键值对

b={}
b[‘name’]=’Tom’
b[‘age’]=20
b[‘job’]=’Student’
print b
print ‘添加后’.center(50,’-’)
b[‘friend’]=’Sam’
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------添加后------------------------
{‘friend’:’Sam’,‘name’:’Tom’,’age’:20,’job’:’Student’}

  3、Dict函数创建

c=dict(name=’Tom’,age=20,job=’Student’)
print c
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}

  还有用键-值对的列表建立

c=[(‘name’,’Tom’),(‘age’,20),(‘job’,’Student’)]
d=dict(c)
print d
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}

若dict()函数创建不带任何参数,则会返回一个空字典

d=dict()
print d
>>>
{}

4、fromkeys()方法-------fromkeys(seq,values)

    创建一个薪字典,参数seq中的元素作为key,参数x作为values,若无参数x则默认为None

                    * seq为元组

ss=(‘name’,’age’,’job’)
f=d.fromkeys(ss,’Tom’)
g=d.fromkeys(ss)
print f
print ‘无参数x,values默认为None’.center(50,’*’)
print g
>>>
{‘name’:’Tom’,’age’:’Tom’,’job’:’Tom’}
***************无参数x,values默认为None***************
{‘name’:None,’age’:None,’job’:None}

5、dict与zip结合创建

h=dict(zip(‘abc’,[1,2,3]))
print h
>>>
{‘a’:1,’c’:3,’’b’:2}

6、推导式创建

I={a:2*a for a in range(3)}
Print i
>>>
{0:0,1:2,2:4}

还可以这样

i={k:v for (k,v) in zip([‘a’,’b’],[1,2])}
Print i
>>>
{‘a’:1,‘b’:2}

7、其他

list=[‘x’,1,’y’,2,’z’,3]
dic=dict(zip(list[::2],list[1::2]))
print dic
{‘y’:2,’z’:3,’x’:1}

    关于字典的创建方法就写这么多了,还有些比较奇葩的,基本不会用到的,我就不一一列举出来了,以免颠覆各位三观。。

二、给字典添加新元素(写的不全面,望各位小察)

1、直接添加

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a[‘friend’]=’Sam’
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:20,’job’:’Student’,’friend’:’Sam’}

2、setdefault(key,value)方法

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a.setdefault(‘friend’,’Sam’)    #若value为空,则默认为None
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:20,’job’:’Student’,’friend’:’Sam’}

3、update(dict)方法

   这方法我称为‘更新’,是用一个新的字典,覆盖以及添加数据到一个老的字典

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
b={‘friend’:’Sam’,’age’:21}
a.update(b)
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:21,’job’:’Student’,’friend’:’Sam’}

也可以这样,偶然间看到的。。。emmm。。。

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a.update(b=2)
print a
{‘name’:’Tom’,’b’:2,’age’:21,’job’:’Student’,’friend’:’Sam’}

三、删除字典中的元素

1、使用del函数---万能删

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
del a[‘job’]
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }

2、pop()方法---指定删

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.pop(‘job’)
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }

3、popitem()----随机删

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.popitem()     #随机删,数据少时不易发现
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }

4、clear()---清除

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.clear()
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{}

四、修改字典里的元素

1、直接修改(同添加方法1.直接添加)

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a[‘name’]=’superme’
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’superme,’age’:20,’job’:’Student’}

2、update()----更新

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.update({‘name’:’superme’})
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’superme’,’age’:20,’job’:’Student’}

3、间接修改key的值

a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a[‘friend’]=a.pop[‘name’]
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘friend’:’Tom’,’age’:20,’job’:’Student’}

五、获取字典元素

1、直接获取(若key不存在,会报错)

a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print a[‘name’]
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Tom

2、get()------若key不存在,返回None

a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
b=a.get(‘name’)
c=a.get(‘superme’)
print b
print c
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Tom
None

3、获取元素的key或value

a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print a.keys()
print a.values()
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Name,age
Tom,20

4、判断字典中是否含有指定key

a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print ‘name’ in a
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
True

    至于遍历字典什么的,就是循环,循环大致都相通,在这就不说了,希望我写的这五点,能对各位读者有帮助,谢谢观看。

原文地址:https://www.cnblogs.com/FCTEY/p/9680227.html

时间: 2024-11-09 19:35:46

Python字典的小析(增删改查)的相关文章

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

python学习之-员信息增删改查

python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证, #!/usr/bin/env python# coding=utf8#author:[email protected] import os, sys, time,jsonimport re member_dict = \ {}member_name_list = []member_list = []def handler_mem

python练习——moudule02——员工信息增删改查

#作业名称:员工信息的增删改查 #作业需求: 1.可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dept = "IT" select * from staff_table where enroll_date like "2013" 查到的信息,打印后,最后面还要显示查到的条数 2.可创建新员工纪录,以phon

Python基础-----实现文件的增删改查

实现文件的增删改查 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import os 4 def file_handler(backend_data,res = None,type = 'fetch'): #文件处理函数 5 if type == 'fetch': #查询操作 6 with open('haproxy.conf','r') as read_f: 7 tag = False #初始状态标识 8 ret = [] #用于放置查询

python课堂整理34----类的增删改查及实例属性增删改查

一.类的增删改查 类里面定义的函数,第一个参数一定要写 self ,因为class的特殊性 定义类名:首字母大写 函数属性命名:动词加名词(即干什么事) class Chinese: country = 'China' def __init__(self,name): self.name = name def play_ball(self, ball): print("%s 正在打%s"%(self.name,ball)) p1 = Chinese('sb') #实例化 print(C

python操作redis--------------数据库增删改查

安装第三方模块redis import redis 一.连接数据库,操作增删改查 1.连接数据 (1).host必填 服务器IP(2).端口号默认的事6379,可以不填写,如果改成其他端口号,要填写 (3).密码默认不填写,如果自己设置了密码,要填写 (4).db必填 值是整数,表示第几个数据库 2.增删改查    操作string类型 (redis是一个键值对) 2.1增加/修改key-value值 可以设置失效时间,截图如下: 2.2查询数据 (1).通过get方法的key值,获取的valu

Python的列表类型操作——“增删改查”,元组——“查”

一.什么是列表 1.列表是一个可变的数据类型,它由[]表示,其中的每一项元素使用","逗号隔开,可以储存各种数据类型.列表相比于字符串,可以存放大量数据类型,其是有序的,有索引,可以使用切片,方便取值. 2.列表的索引的下表也是从0开始的,切出来的内容为列表.[起始位置:结束位置:步长] 二.列表的"增删改查" 1.增加 list相比于str另一个更为方便的是,list可以发生改变,我们可以直接在原来的对象上进行操作 1)append() 在原字符串的末尾添加一个数

[python] 用pickle模块实现“增删改查”的简易功能

#!/usr/bin/env python2  #coding:utf-8  """ pickle的作用:  1:pickle.dump(dict,file)把字典转为二进制存入文件. 2:pickle.load(file)把文件二进制内容转为字典.  """ import pickle # 增  def adds():      users = {"name":"yangbin", "age&q

字典的操作(增删改查)

#_author:star#date:2019/10/26# 字典# 不可变类型:整形,字符串,元组# 可变类型:字典,列表#字典两个特点:无序,键唯一a=10print(id(a))#1351629200b=aprint(id(b))#1351629200b=15print(id(b))#1351629280print(a,b)# 10 15#字典的创建方式一dic={'name':'star',2:'girl','age':22,'hobby':{'girl_name':'angle','a