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
    评论
Python字典是一种无序的键值对集合,其中每个键都唯一对应一个值。字典用花括号{}表示,键和值之间用冒号:分隔,不同的键值对之间用逗号,分隔。例如: ``` my_dict = {'apple': 2.5, 'banana': 1.5, 'orange': 3.0} ``` 这个字典包含三个键值对,分别是'apple': 2.5, 'banana': 1.5和'orange': 3.0。可以通过键来访问字典中的值,例如: ``` print(my_dict['apple']) # 输出2.5 ``` 如果尝试访问字典中不存在的键,则会报KeyError错误。可以使用in关键字来检查一个键是否在字典中,例如: ``` if 'apple' in my_dict: print('Yes') else: print('No') ``` 可以使用字典的get方法来访问键对应的值,如果键不存在,则返回默认值(默认为None),例如: ``` print(my_dict.get('apple', 0)) # 输出2.5 print(my_dict.get('pear', 0)) # 输出0 ``` 可以使用字典的items方法来遍历所有的键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 可以使用字典的keys方法来遍历所有的键,例如: ``` for key in my_dict.keys(): print(key) ``` 可以使用字典的values方法来遍历所有的值,例如: ``` for value in my_dict.values(): print(value) ``` 可以使用字典的pop方法来删除一个键值对,例如: ``` my_dict.pop('apple') print(my_dict) # 输出{'banana': 1.5, 'orange': 3.0} ``` 可以使用字典的clear方法来清空所有的键值对,例如: ``` my_dict.clear() print(my_dict) # 输出{} ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值