博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day03 Python字典dict的增删查改及常用操作
阅读量:6170 次
发布时间:2019-06-21

本文共 1788 字,大约阅读时间需要 5 分钟。

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。

  可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移(索引)存取。

1.增(setdefault('k','v')

# dic['li'] = ["a","b","c"]  直接赋值添加# print(dic)# setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。# dic.setdefault('k','v')# print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}# dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}# print(dic)

2.删(pop(),popitem(),clear(),del)

# dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值# print(dic_pop)# del dic["name"]  # 没有返回值。# print(dic)# dic_pop1 = dic.popitem()  # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回# print(dic_pop1)  # ('name','jin')# dic_clear = dic.clear()  # 清空字典# print(dic,dic_clear)  # {} None

3.查(get())

# value1 = dic["name"]  # 没有会报错# print(value1)## value2 = dic.get("djffdsafg","默认返回值")  # 没有可以返回设定的返回值# print(value2)

4.改(update())

# 改# dic = {"name":"jin","age":18,"sex":"male"}# dic2 = {"name":"alex","weight":75}# dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中# print(dic2)

5.常用操作

# item = dic.items()# print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) 
# 这个类型就是dict_items类型,可迭代的# keys = dic.keys()# print(keys,type(keys)) # dict_keys(['sex', 'age', 'name'])
# values = dic.values()# print(values,type(values)) # dict_values(['male', 18, 'jin'])
同上

字典的循环

# dic = {"name":"jin","age":18,"sex":"male"}# for key in dic:#     print(key)# for item in dic.items():#     print(item)# for key,value in dic.items():#     print(key,value)

 

转载于:https://www.cnblogs.com/87pzy/p/10530234.html

你可能感兴趣的文章
关于C语言中内存的3个问题
查看>>
Cesium中级教程6 - 3D Models 三维模型
查看>>
算法实现c语言--02
查看>>
c++之函数值传递和引用传递解析----关键在于理解函数return的实现机制(内存分配)...
查看>>
左式堆
查看>>
面向对象程序设计学习进度条
查看>>
[转]二重积分换元法的一种简单证明 (ps:里面的符号有点小错误,理解就好。。。...
查看>>
Spring Cloud 微服务入门(一)--初识分布式及其发展历程
查看>>
Javascript之pixi.js框架学习
查看>>
异常和断言
查看>>
redis
查看>>
如何快速将PDF文档转成APP电子书
查看>>
python学习笔记(一)
查看>>
HDU计算机学院大学生程序设计竞赛(2015’12)1008 Study Words
查看>>
OC 线程操作 - GCD使用 -线程通讯, 延迟函数和一次性代码
查看>>
java使用java.lang.management监视和管理 Java 虚拟机
查看>>
数据库三范式细说
查看>>
微信小程序给我们带来哪些改变?小程序生态中暗藏着哪些机会?
查看>>
移动端遇到的问题小结--video
查看>>
android蓝牙BLE(四) —— 实战
查看>>