字典的创建及操作方法

1、字典的特点

字典:是python中的无序的对象集合。字典与列表的区别是:字典中的数据是无序的,而且字典中的元素是依靠键来查询的;列表中的数据是有序的,并且是通过索引查询。

注意:字典的键必须是不可变类型,因为在创建字典时,会先对键进行hash(),用以确定字典在内存中是如何被保存的,而hash()只能传入不可变类型的参数。而字典的值可以是任意类型的数据。

特点:
1、字典是任意对象的无序集合;
2、字典是通过键查找元素值的;
3、字典是异构、可嵌套的;
4、字典是可变的映射类型;
5、字典是一个对象引用表,其中存储的是对象的引用。

2、常用操作方法

1)创建字典,从dic_test2的输出中可以看出字典是无序的。

dic_test1 = {}
print(dic_test1)  # 输出为:{}

dic_test2 = {"name": "xiaoming", "age": 23, "weight": 65, "height": 185}
print(dic_test2)  # 输出为:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185} 

2)字典的增、删、查、改

dic_test2["grade"] = 99  # 添加元素
print(dic_test2)  # 输出为:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185, 'grade': 99}

dic_test3 = {"money": 123456789}
dic_test2.update(dic_test3)  # 通过update()方法添加一个字典
print(dic_test2)  # 输出为:{'name': 'xiaoming', 'age': 23, 'weight': 65, 'height': 185, 'grade': 99, 'money': 123456789}

print(dic_test2["name"])  # 根据键查询元素值输出为:xiaoming

dic_test2.pop("weight")  # 删除元素
print(dic_test2)  # 输出为:{'name': 'xiaoming', 'age': 23, 'height': 185, 'grade': 99}

del dic_test2["height"]  # 删除元素
print(dic_test2)  # 输出为:{'name': 'xiaoming', 'age': 23, 'grade': 99}

dic_test2["name"] = "xiaowang"  # 原位修改元素
print(dic_test2)  # 输出为:{'name': 'xiaowang', 'age': 23, 'grade': 99}

3)其他常用方法

# keys()方法返回字典的所有键,并将其放入在一个列表中
print(list(dic_test2.keys()))  # 输出为:['name', 'age', 'grade']

# values()方法返回字典的元素值
print(list(dic_test2.values()))  # 输出为:['xiaowang', 23, 99]

# items()方法返回字典的键和元素值的元组对列表
print(list(dic_test2.items()))  # 输出为:[('name', 'xiaowang'), ('age', 23), ('grade', 99)]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,576评论 0 4
  • 关于键值编码 键值编码(KVC)是一种由NSKeyValueCoding非正式协议提供的机制,对象采用该机制来提供...
    渐z阅读 1,195评论 0 0
  • 1.基本使用 1.1 数据类型 常用数据类型 Common Data Types 其他类型 Others 1.2 ...
    suwi阅读 1,596评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,691评论 1 32
  • 本文为《爬着学Python》系列第九篇文章。 从现在开始算是要进入“真刀真枪”的Python学习了。之所以这么说,...
    SyPy阅读 2,240评论 0 14

友情链接更多精彩内容