Python基础:字典

目录

一、字典的创建

二、字典的特点

三、查询字典中元素

(1)字典元素的获取

(2)字典元素的判断

(3)字典元素的遍历

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

(1)字典元素的增加

(2)字典元素的删除

(3)字典元素的修改 

 (4)获取字典视图

五、字典生成式


字典:

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

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

一、字典的创建

字典的实现原理:

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

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

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

示例:

# 字典创建,第一种方式
print('---------score()------------')
score = {'张三': 89, '李四': 78, '王五': 90}
print(score)
print(type(score))
# 字典创建,第二种方式
print('----------dict()------------')
student = dict(name='张三', age=14)
print(student)
print(type(student))

运行结果:

二、字典的特点

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

示例:

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

运行结果:

三、查询字典中元素

(1)字典元素的获取

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

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

示例:

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

运行结果:

(2)字典元素的判断

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

示例:

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

运行结果:

(3)字典元素的遍历

for in进行字典元素的遍历

示例:

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

运行结果:

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

(1)字典元素的增加

语法结构:

字典名[键]=值

示例:

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

运行结果:

(2)字典元素的删除

语法结构:

删除:

del 字典名[键]

清除:

字典名.clear()

示例:

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

运行结果:

(3)字典元素的修改 

语法结构:

字典名[键] = 值

示例:

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

运行结果:

 (4)获取字典视图

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

示例:

scores = {'张三': 89, '李四': 78, '王五': 90, '小明': 43}
print('----------keys()----------')
keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys))  # 将其转换为列表
print('-----------values()-------')
values = scores.values()
print(values)
print(type(values))
print(list(values))
print('------------items()--------')
items = scores.items()
print(items)
print(type(items))
print(list(items))  # 转换之后的列表元素是由元组组成的

运行结果:

 

五、字典生成式

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

使用内置函数zip( )

示例:

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

运行结果:

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值