当前位置:   article > 正文

Python基础:字典_python 字典

python 字典

目录

一、字典的创建

二、字典的特点

三、查询字典中元素

(1)字典元素的获取

(2)字典元素的判断

(3)字典元素的遍历

四、字典元素的增、删、改操作

(1)字典元素的增加

(2)字典元素的删除

(3)字典元素的修改 

 (4)获取字典视图

五、字典生成式


字典:

Python内置的数据结构之一,与列表一样是一个可变序列

以键值对的方式存储数据,字典是一个无序的序列

一、字典的创建

字典的实现原理:

字典的实现原理类似于生活中的查字典,查字典是根据部首的首部或者拼音进行查找,而Python中的字典是根据key查找value所在的位置。

字典的创建:
通过score( )进行创建

通过内置函数dict()进行创建

示例:

  1. # 字典创建,第一种方式
  2. print('---------score()------------')
  3. score = {'张三': 89, '李四': 78, '王五': 90}
  4. print(score)
  5. print(type(score))
  6. # 字典创建,第二种方式
  7. print('----------dict()------------')
  8. student = dict(name='张三', age=14)
  9. print(student)
  10. print(type(student))

运行结果:

二、字典的特点

  • 字典中所有元素都是一个键值对,即key_value,key不允许重复,value可以重复
  • 字典中的元素是无序的
  • 字典中的key必需是不可变对象
  • 字典也可以根据需要动态的进行伸缩
  • 字典会浪费一个较大内存,是一种使用空间换时间的操作

示例:

  1. d = {'name': '张三', 'name': '李四'} # 该字典中的key重复
  2. print(d)
  3. c = {'name': '张三', 'nickname': '李四'} # 该字典中的key不重复
  4. print(c)

运行结果:

三、查询字典中元素

(1)字典元素的获取

字典元素的获取通常有两种方式:

  • 采用[ ]去获取元素
  • 采用get()函数去获取元素,当所查找的元素不存在时,运行结果会返回None。当然也可以获取默认值

示例:

  1. score = {'张三': 89, '李四': 78, '王五': 90}
  2. print('--------第一种获取元素值的方法,[]----------')
  3. print(score['张三'])
  4. # print(score['小明']) # 此时会报错,该元素不存在
  5. print('---------第二种获取元素的方法,get()--------')
  6. print(score.get('李四'))
  7. print(score.get('小明')) # 查找该元素
  8. print(score.get('小明', 99)) # 不存在给元素时,输出默认值

运行结果:

(2)字典元素的判断

用 in not in判断元素是否在字典中

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90}
  2. print('----------判断-----------')
  3. print('张三' in scores)
  4. print('张三' not in scores)

运行结果:

(3)字典元素的遍历

for in进行字典元素的遍历

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90, '小明': 43}
  2. for item in scores: # 字典中键的遍历
  3. print(item)
  4. for item in scores: # 字典元素中值的遍历,先获取值,然后进行值的遍历
  5. print(scores[item])
  6. for item in scores: # 字典中键值对的遍历
  7. print(item, scores.get(item))

运行结果:

四、字典元素的增、删、改操作

(1)字典元素的增加

语法结构:

字典名[键]=值

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90}
  2. print('----------增加-----------')
  3. scores['小明'] = 39 # 可以增加单个键值对
  4. print(scores)

运行结果:

(2)字典元素的删除

语法结构:

删除:

del 字典名[键]

清除:

字典名.clear()

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90}
  2. print('-----------删除----------')
  3. del scores['李四']
  4. print(scores)
  5. print('-----------清除----------')
  6. scores.clear()
  7. print(scores)

运行结果:

(3)字典元素的修改 

语法结构:

字典名[键] = 值

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90, '小明':36}
  2. print('-----------修改----------') # 可以对指定的元素进行修改
  3. scores['小明'] = 42
  4. print(scores)

运行结果:

 (4)获取字典视图

  • keys(),是获取所有的键
  • values(),是获取所有的值
  • items(),是获取所有的键值对

示例:

  1. scores = {'张三': 89, '李四': 78, '王五': 90, '小明': 43}
  2. print('----------keys()----------')
  3. keys = scores.keys()
  4. print(keys)
  5. print(type(keys))
  6. print(list(keys)) # 将其转换为列表
  7. print('-----------values()-------')
  8. values = scores.values()
  9. print(values)
  10. print(type(values))
  11. print(list(values))
  12. print('------------items()--------')
  13. items = scores.items()
  14. print(items)
  15. print(type(items))
  16. print(list(items)) # 转换之后的列表元素是由元组组成的

运行结果:

 

五、字典生成式

字典生成式即生成字典的公式

使用内置函数zip( )

示例:

  1. # 三种情况
  2. # 第一种:
  3. items = ['Fruit', 'Books', 'Others']
  4. prices = [12, 13, 14]
  5. d = {item: price for item, price in zip(items, prices)}
  6. print(d)
  7. # 第二种
  8. c = {item.upper(): price for item, price in zip(items, prices)} # 利用upper()函数将items中的键变为大写
  9. print(c)
  10. # 第三种:当两个列表中元素的数量不相等时,选择最小的进行压缩匹配对应生成
  11. items = ['Fruit', 'Books', 'Others']
  12. prices = [13, 14, 15, 16, 18, 19]
  13. a = {item: price for item, price in zip(items, prices)}
  14. print(a)

运行结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/714512
推荐阅读
相关标签
  

闽ICP备14008679号