生信程序员Python全栈工程师

65、字典的增删改操作

2019-06-09  本文已影响1人  BeautifulSoulpy
离开学术界,博士们还有许多好选择
我觉得编程未来就像英语一样,会是一项基本技能,因此我更加重视这一块的学习。

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典是Python中一个键值映射的数据结构;

字典是非线性结构中最重要的一种;set 可以看成字典的特例:set都是key;

1. 创建字典(可变的,无序的,key不重复的)
# 创建字典 (两种方法)
# 第一种方法
dict1 = {'name':'linda','age':13}

# 第二种方法
dict2 = dict(['name','linda'],['age',13])

d=dict(([1,'a'],[2,'b']))   # 列表形式
e=dict(a=1,b=2,c=3,d='str')   # =对应关系;

#第三种方法,将一个可迭代对象的值作为字典的每一个键,赋值为1
dict3 = {}.fromkeys(('x','y','z'),1)


总结:
1. dict(iterable,**kwarg)必须是一个二元结构(键值对结构) ;
d={'a':1,'b':2}

d=dict(([1,'a'],[2,'b']))
e=dict(a=1,b=2,c=3,d='str')  

e=dict.fromkeys(range(5),100)   # 取值都是一样;
e
----------------------------------------------
{0: 100, 1: 100, 2: 100, 3: 100, 4: 100}


2.访问字典
key:可以hash就可以作为key;  数字、字符串都可以;
# 返回一个键的列表
dict1.keys()      |    ['name','age']

# 返回一个值的列表
dict1.values()     |   ['linda',13]

# 返回一个包含(键,值)元组的列表
dict1.items()     |    [('name','linda'),('age':13)]

# 返回键name对应的值
dict1['name']     |    'linda'

# 得到键的值,若键不存在,则返回默认值
dict1.get('name',None)     |    'linda'

# 字典中没有sex,返回默认值man
dict1.get('sex','man')     |    'man'
dict.iter()  #方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
3.修改字典
# 修改键name的值
dict1['name'] = 'lihua' 

# 如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发KeyError 异常
dict1.pop(name,'unknown')    |    'linda' 

# 删除键name这条记录
dict1.remove('name') 

#如果字典中不存在 key 键,由 dict[key]=default 为它赋值,若存在则不改变它的值
dict1.setdefault('name',default='unknown')  

# 将字典 dict2 的键-值对添加到字典 dict
dict.update(dict2)  

#删除字典中所有元素
dict.clear()  

#删除字典
del dict1 
上一篇 下一篇

猜你喜欢

热点阅读