字典的基本操作(一)

2019-01-19  本文已影响39人  5f2a6061653d

在实际开发中,字典使数据表示更加完整,因此它是应用最广的一种数据类型,想要熟练运用字典,就必须熟悉字典中常用的操作。

计算元素个数

字典中元素个数可以通过len()函数来获取,如下所示。

 1  dict = {'jianshu':'简书', 'author':'隼与鱼'}
 2  print(len(dict))

运行结果如下图所示。


运行结果

在上例中,第2行通过len()函数计算元素个数并输出。

访问元素值

列表与元组是通过下标索引访问元素值,而字典是通过元素的键来访问值,如下所示。

 1  dict = {'jianshu':'简书', 'author':'隼与鱼'}
 2  print(dict['jianshu'])
 3  print(dict['author'])

运行结果如下图所示。


运行结果

在上例中,第2行与第3行通过键访问所对应的值并通过print()函数输出。如果访问不存在的键,则运行时程序会报错。
有时不确定字典中是否存在某个键而又想访问该键对应的值,则可以通过get()函数,如下所示。

 1  dict = {'jianshu':'简书', 'author':'隼与鱼'}
 2  name1 = dict.get('goodProgrammer')  # 不存在该键时,返回None,而不是报错
 3  print(name1)
 4  name2 = dict.get('author')          # 存在该键时,返回对应的值
 5  print(name2)

运行结果如下图所示。


运行结果

在上例中,第2行通过get()函数获取'goodProgrammer'对应的值,字典中不存在这个键,此时返回None,而不是报错,第4行通过get()函数获取'author'对应的值,字典中存在这个键,此时返回'隼与鱼'。

修改元素值

字典中除了通过键访问值外,还可以通过键修改值,如下所示。

 1  std = {'name':'隼鱼', 'score':100}
 2  print(std)
 3  std['name'] = '隼与鱼'
 4  std['score'] = 99
 5  print(std)

运行结果如下图所示。


运行结果

在上例中,第3行与第4行通过键修改所对应的值,从运行结果可发现,修改后字典中的元素发生了变化。

添加元素

通过键修改值时,如果键不存在,则会在字典中添加该键值对,如下所示。

 1  std = {'name':'隼鱼', 'score':100}
 2  std['name'] = '隼与鱼'     # 该键存在,修改键对应的值
 3  std['age'] = 20           # 该键不存在,添加该键值对
 4  print(std)

运行结果如下图所示。


运行结果

在上例中,第2行修改键'name'所对应的值为'隼与鱼',第3行将键值对'age':20添加到字典中。
此外,还可以通过update()函数修改某键对应的值或添加元素,如下所示。

 1  std = {'name':'隼鱼', 'score':100}
 2  new = {'name':'隼与鱼'}
 3  std.update(new) # 修改键所对应的值
 4  print(std)
 5  add = {'age':20}
 6  std.update(add) # 添加元素
 7  print(std)

运行结果如上图所示。


运行结果

在上例中,第3行修改键'name'所对应的值为'隼与鱼',第6行将键值对'age':20添加到字典std中。

删除元素

删除字典中的元素可以通过“del 字典名[键]”实现,如下所示。

 1  std = {'name':'隼与鱼', 'score':100}
 2  del std['score']
 3  print(std)

运行结果如下图所示。


运行结果

在上例中,第2行通过del删除字典中的键值对'score':100。
此外,还可以通过pop()函数删除指定元素并返回该元素,如下所示。

 1  std = {'name':'隼与鱼', 'score':100}
 2  std.pop('score')
 3  print(std)

运行结果如下图所示。


运行结果

在上例中,第2行通过pop()函数删除字典中的键值对'score':100。
如果想删除字典中所有元素,则可以使用clear()实现,如下所示。

 1  std = {'name':'隼与鱼', 'score':100}
 2  std.clear()
 3  print(std)

运行结果如下图所示。


运行结果

在上例中,第2行通过clear()删除字典中所有的元素。

上一篇 下一篇

猜你喜欢

热点阅读