当前位置: 首页 > news >正文

3.5 字典补充

 1.字典的常用函数:

        clear:移除字典中所有元素,将字典清空

        copy:复制

        get:和字典对象[key]类似,通过key值获取值,注意,如果没有该键,则返回none

        keys:返回所有的键

        values:返回所有的值

        setdefault:设置一个默认值

        items:返回键值对

        pop (key):删除指定key的键值对,并将key对应的值返回

        popitem:以元组的形式返回并删除字典中的最后一对键和值

#1.字典的常用函数       print(dir(dict))查看dict的函数

dict1 = {"username":"wzw","password":123,"salary":1200.5}

print(dict1)

#-copy 测试

print("--------------------------------------------------------copy")

print(f"copy复制的字典:{dict1.copy()}")



#-setdefault 测试  (设置一个k-v对并返回v)

print("--------------------------------------------------------setdefault")

print(dict1.setdefault("location","西安市"))     #返回值:  西安市

print(dict1)                                     #字符中会新增一对键值  'location': '西安市'



#-pop(key) 测试   (删除指定的键值对)

print("--------------------------------------------------------pop")

print(dict1.pop("location"))         #返回值   西安市

print(dict1)



#-popitem() 测试    (删除字典的最后一对k-v,并以元组的形式返回)

#因为在python版本3.7之前ket是无序的,3.7版本之后key变得有序,所以可以判断顺序

print("--------------------------------------------------------popitem")

print(dict1.popitem())      #返回值  ('salary', 1200.5)

print(dict1)



#-keys 测试   (返回所有的键)

print("--------------------------------------------------------keys")

print(dict1.keys())        #dict_keys(['username', 'password'])



#-values 测试    (返回所有的值)

print("--------------------------------------------------------values")

print(dict1.values())       #dict_values(['wzw', 123])



#-items 测试     (返回键值对)

print("--------------------------------------------------------items")

print(dict1.items())          #dict_items([('username', 'wzw'), ('password', 123)])



#-update 测试   (将一个字典更新在原字典中)

print("--------------------------------------------------------update")

print(dict1.update({"age":18}))     #None   无返回值

print(dict1)       #更新后的结果: {'username': 'wzw', 'password': 123, 'age': 18}







#dict1 = {'username': 'wzw', 'password': 123, 'age': 18}

'''

    2.字典的遍历

#-遍历所有的key

print("--------------------------------------------------------all key 方法1")

for i in dict1.keys():                              #直接通过遍历keys来输出所有的key

    print(i)



print("--------------------------------------------------------all key 方法2")

for i in dict1.items():                             #遍历所有的键值对 

    print(i[0])                                     #输出键值对下标为0的元素,也就是key,然后循环输出key


 

#遍历所有的value

print("--------------------------------------------------------all value 方法1")

for i in dict1.values():                            #直接遍历value

    print(i)                                        



print("--------------------------------------------------------all value 方法2")

for i in dict1.items():

    print(i[1])                                     #因为k-v只有两个元素所以0为k 1为v



print("--------------------------------------------------------all value 方法3")

for i in dict1.keys():

    print(dict1.get(i))     # 或者 print(dict1[i])


 

#遍历所有的key和value

print("--------------------------------------------------------遍历所有的k-v")

for i in dict1.keys():

    #print(f"{i}:{dict1[i]}")

    print(f"{i}:{dict1.get(i)}")




print("--------------------------------------------------------通过k-v对下标遍历所有的k-v")

for i in dict1.items():

    print(f"{i[0]}:{i[1]}")

    3.字典的生成--数据可视化

# - formkeys()    将字典的元素赋一个统一的初始值

print("--------------------------------------------------------测试formkeys")

class_list = ["A","B","C","D","E"]

socre = 100

res = dict.fromkeys(class_list,socre)

print(res)                              #输出 {'A': 100, 'B': 100, 'C': 100, 'D': 100, 'E': 100}

# - zip    将对应的元素赋对应的值

class_list = ["A","B","C","D","E"]

socre_list = [98,45,74,96,87]

res = zip(class_list,socre_list,strict=True)     #strict这个参数默认为False,当两个列表的长度不相同时,超出不做处理,如果修改为True则会检索两个列表长度,长度不一样则会报错

print(dict(res))

相关文章:

  • Google 官方提示工程 (Prompt Engineering)白皮书 总结
  • ESP32与STM32哪种更适合初学者?
  • Qt触摸屏隐藏鼠标指针
  • Python数组(array)学习之旅:数据结构的奇妙冒险
  • DRM(Digital Rights Management)生态以及架构介绍
  • 自动驾驶技术-相机_IMU时空标定
  • NI的LABVIEW工具安装及卸载步骤说明
  • 博途 TIA Portal之1200做主站与有意思的板子做MODBUS_RTU通讯
  • 【多模态大模型实战】使用LoRA微调Qwen2.5-VL
  • ESP32+Arduino入门(三):连接WIFI获取当前时间
  • 埃隆·马斯克与开源:通过协作重塑创新
  • Python 中 `__init__` 方法的深入解析
  • Java工具类-assert断言
  • 嵌入式人工智能应用-第三章 opencv操作3 图像平滑操作 下
  • Linux 内存调优之系统内存全面监控
  • 教程:在Typora中显示拼音——附处理工具
  • 学术版 GPT 网页
  • 电商用户购物行为分析:基于K-Means聚类与分类验证的完整流程
  • Linux dmesg 命令详解
  • 深入理解 v-for 指令及其使用方法
  • 攻把受做哭了gv网站/房地产销售怎么找客户
  • 新手学做网站下载/百度seo如何优化
  • php如何做视频网站/搜索引擎营销与seo优化
  • 找it工作有什么好的招聘网站/如何免费自己创建网站
  • 公司个人怎么做网络推广/深圳百度seo培训
  • wordpress建立网站/bt种子搜索神器