VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • python 字典的一些操作

复制代码

创建字典的方式

方式一:

a={'a':1,'b':2,'c':3}

方式二:

a = dict(a=1,b=2,c=3)

方式三:

seq = ('z', 'x', 'y')
di = dict.fromkeys(seq, 10) #fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

print(di) #没有10时键默认None{'z':None, 'x':None, 'y':None}

print(di) #{'z':10, 'x':10, 'y':10}

-------------------------------

常用方法:

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

dic2 = {"郭靖":"黄蓉", "张无忌":"赵敏", "杨过":"小龙女", "apple":"苹果"}

print(dic1.keys()) #返回迭代器 dict_keys(['apple', 'dog', 'cat', 'jack'])

print(list(dic1.keys())) #用list直接转换成列表 ['apple', 'dog', 'cat', 'jack']

print(dic1.values()) #同上

print(dic1.items()) #dict_items([('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')])

print(list(dic.items())) #[('apple', '001'), ('dog', '002'), ('cat', 'dog'), ('jack', 'ros')]

dic.setdefault("apple", '100') #设置值,K存在,返回Key对应的值,Key不存在,就添加到字典,返回刚设置的值

dic1.update(dic2) #d1中没有键的就添加进来,d1中有的键,其值就用d2中的值替换

dic1.get("apple", "默认") #返回指定键对应的值,没有就返回默认

str(dic1)输出字典可打印的字符串表示.

dic1.copy()返回一个字典的浅拷贝

dic1.has_key(key)如果键在字典dict里返回true,否则返回false,python3没有该方法

 

字典删除:

dic1 = {"apple":"001", "dog":"002", "cat":"dog", "jack":"ros"}

del dic1["apple"] 

del dic1  删除此字典

dic1.clear() 清空字典

print(dic1.pop("apple", "NoKey")) #删除apple:001 这对元素,返回key对应的值,不存在键,就返回默认值NoKey 

print(dic1.popitem()) #返回并删除字典中的最后一位键值对,如果字典已经为空,却调用了此方法,就报出 KeyError 异常

 

python实现两个字典合并

方法一:借助dict(d1.items() + d2.items())的方法

1 a={'a':1,'b':2,'c':3}
2 b= {'aa':11,'bb':22,'cc':33}
3 dict(a.items()+b.items())
4 # 结果:
5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法二:借助字典的update()方法

复制代码
1 a={'a':1,'b':2,'c':3}
2 b= {'aa':11,'bb':22,'cc':33}
3 c={}
4 c.update(a)
5 c.update(b)
6 print(c)
7 # 结果:
8 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}
复制代码

方法三:借助字典的dict(d1, **d2)方法

1 a={'a':1,'b':2,'c':3}
2 b= {'aa':11,'bb':22,'cc':33}
3 dict(a,**b)
4 # 结果:
5 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}

方法四:借助字典的常规处理方法

复制代码
 1 a={'a':1,'b':2,'c':3}
 2 b= {'aa':11,'bb':22,'cc':33}
 3 c = {}
 4 for k,v in a.items():
 5     c[k] = v
 6 for k,v in b.items():
 7     c[k] = v
 8 print(c)
 9 # 结果:
10 {'a': 1, 'aa': 11, 'c': 3, 'b': 2, 'bb': 22, 'cc': 33}
复制代码

 

python 遍历字典

遍历键:

1 dict = {'Name': 'Runoob', 'Age': 7}
2 for i in dict:
3     print(i)

遍历值:

1 dict = {'Name': 'Runoob', 'Age': 7}
2 for i in dict.values()
3     print(i)

遍历键和值:

1 dict.items()
2 for key,value in dict.items():
3     print(key)
4     print(value)

相关教程