python-字典(创建方式、常用的操作方式)

一、字典

概述:字典是Python内置的数据结构之一,与列表一样是一个可变序列,但是它是以键值对的方式存储数据,字典是一个无序的序列。

特点:

  1. 字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
  2. 字典中的元素是无序的
  3. 字典中的key必须是不可变对象
  4. 字典也可以根据需要动态地伸缩
  5. 字典会浪费较大的内存,是一种使用空间换时间的数据结构

二、字典的创建方式

注意:字典创建时候值可以重复,键不可以重复

# @Author:韩慧腾
# @Time :2022/7/1 9:01
# @File :dict_Demo0.py
# 努力已经来不及了,你得拼命
#创建字典
a={北京:32.1,上海:29.9,三亚:33.4}
print(a) #{北京: 32.1, 上海: 29.9, 三亚: 33.4}
print(type(a)) #<class dict>
#使用内置函数dict创建字典
aa=dict(北京=32.1,上海=29.9,三亚=33.4)
print(aa) #{北京: 32.1, 上海: 29.9, 三亚: 33.4}
print(type(aa)) #<class dict>
#创建空字典
d={}
print(d)

三、字典中元素的获取

# @Author:韩慧腾
# @Time :2022/7/1 9:24
# @File :dict_Dmo1.py
# 努力已经来不及了,你得拼命
d=dict(北京=32.1,上海=29.9,三亚=33.4)
print(d[北京]) #32.1
print(d.get(北京)) #32.1
print(d.get(北京,30)) #32.1 列表中有北京这个键,所以该默认值并没有什么用
print(d.get(天津,30)) #30 列表中没有天津这个键,所以会输出默认值30
获取元素的时候,第二个参数是当字典中没有该键时候,会输出该默认值

四、字典的常用操作

    Key的判断
# @Author:韩慧腾
# @Time :2022/7/1 9:38
# @File :DICT_Demo2.py
# 努力已经来不及了,你得拼命
d=dict(北京=32.1,上海=29.9,三亚=33.4)
print(北京 in d) #True
print(北京 not in d) #False
print(南京 in d) #False
print(南京 not in d) #True
    字典元素的删除
    字典元素的新增
# @Author:韩慧腾
# @Time :2022/7/1 18:47
# @File :dict_Demo3.py
# 努力已经来不及了,你得拼命
d=dict(北京=32.1,上海=29.9,三亚=33.4)
#删除字典元素
del d[北京]
print(d) #{上海: 29.9, 三亚: 33.4}
#字典元素的新增
d[南京]=30.1 
print(d) #{上海: 29.9, 三亚: 33.4, 南京: 30.1}
#清空列表
d.clear()
print(d) #{}
    获取字典视图的三个方法
# @Author:韩慧腾
# @Time :2022/7/1 18:55
# @File :dict_Demo4.py
# 努力已经来不及了,你得拼命
d=dict(北京=32.1,上海=29.9,三亚=33.4)
d1=d.keys()
print(d1) #dict_keys([北京, 上海, 三亚])
d2=d.values()
print(d2) #dict_values([32.1, 29.9, 33.4])
d3=d.items()
print(d3) #dict_items([(北京, 32.1), (上海, 29.9), (三亚, 33.4)])
#以列表的形式输出
print(list(d1)) #[北京, 上海, 三亚]
print(list(d2)) #[32.1, 29.9, 33.4]
print(list(d3)) #[(北京, 32.1), (上海, 29.9), (三亚, 33.4)] 该集合是由元组组成的
    字典元素的遍历

注意:item是键(key)

# @Author:韩慧腾
# @Time :2022/7/1 20:52
# @File :dict_Demo5.py
# 努力已经来不及了,你得拼命
d=dict(北京=32.1,上海=29.9,三亚=33.4)
#遍历字典
for i in d:
    print(i,d[i],d.get(i)) #注意i是键(key)
    字典生成式

内置函数zip(),用于将可迭代的对象(eg:列表、字符串)作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表。

# @Author:韩慧腾
# @Time :2022/7/1 21:29
# @File :dict_Demo6.py
# 努力已经来不及了,你得拼命
city=[北京,上海,三亚]
tem=[32.1,32,35]
d={c.upper():t for c,t in zip(city,tem)} #upper可以将其变为大写字母
print(d) #{北京: 32.1, 上海: 32, 三亚: 35}
经验分享 程序员 微信小程序 职场和发展