7python基本数据类型之散列类型
Posted miki的测试笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7python基本数据类型之散列类型相关的知识,希望对你有一定的参考价值。
前言:python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍散列类型。
一、散列类型
散列类型:内部元素无序,不能通过下标取值
1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对会替换前面的,value不需要唯一。
2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复。
注意:
1)用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对会替换前面的,value不需要唯一。
2)value可以取任何数据类型,但key是不可变的,新增键值对后,key不可以修改,单value可以修改。
- dic[key]=value 无则创建,若已有对应的key存在则修改该键值对的value
# 字典 {key:value, key:value} 键/值对形式 # key是唯一的,是不可变类型数据 dic1 = {\'name\':\'张三\',\'age\':18,\'gender\':\'男\'} dic2 = {\'a\':11,\'b\':22} dic1[\'city\'] = \'广州\' # 新增键值对 print(dic1) dic1[\'city\'] = \'上海\' # 根据key修改值 print(dic1) # updata():添加多个键值对(将一个字典更新到一个字典中) dic1.update(dic2) print(dic1) dic2.update({\'c\': 33, \'d\': 44}) print(dic2)
2)删
- pop():参数为字典的键(key)
- popitem() :删除最后添加的键值对
- clear():清空字典中的所有键值对
- 关腱字del:del dic[key]
dic1 = {\'name\':\'张三\',\'age\':18,\'gender\':\'男\',\'city\':\'广州\'} # pop():删除,需要传入一个键(key) dic1.pop(\'gender\') print(dic1) # popitem():不需要传参,删除字典中最后添加进来的一个键值对 dic1.popitem() print(dic1) # 关键字del del dic1[\'age\'] print(dic1) # clear():清除字典中的所有键值对 dic1.clear() print(dic1)
运行结果:
C:\\software\\python\\python.exe D:/myworkspace/test/test/test.py {\'name\': \'张三\', \'age\': 18, \'city\': \'广州\'} {\'name\': \'张三\', \'age\': 18} {\'name\': \'张三\'} {} Process finished with exit code 0
3)改
dic[key]=value 通过键去修改值,在第一点中已经举出例子
4)查
- get():获取键对应的值,但key不存在时不会报惜,会打印None
- values():获取所有的值,可以用list将结果转换成列表
- itmes(): 获取所有的键值对,可以用list将结果转换成列表,列表中每个键值对组成一个元组
dic1 = {\'name\':\'张三\',\'age\':18,\'gender\':\'男\'} # get():获取键对应的值 print(dic1.get(\'name\')) print(\'这是不存在的键值对:{}\'.format(dic1.get(\'city\'))) # keys():返回字典中所有的键 print(dic1.keys()) dic_key = dic1.keys() print(list(dic_key)) # 通过list()把键以列表的形式输出 # values():返回字典中所有的值 print(dic1.values()) dic_value = dic1.keys() print(list(dic_value)) # 通过list()把键以列表的形式输出 # items:返回字典中所有的键值对,每一个键值对都会打包成元组(key,value) print(dic1.items()) dic_item = dic1.items() print(list(dic_item))
运行结果:
C:\\software\\python\\python.exe D:/myworkspace/test/test/test.py 张三 这是不存在的键值对:None dict_keys([\'name\', \'age\', \'gender\']) [\'name\', \'age\', \'gender\'] dict_values([\'张三\', 18, \'男\']) [\'name\', \'age\', \'gender\'] dict_items([(\'name\', \'张三\'), (\'age\', 18), (\'gender\', \'男\')]) [(\'name\', \'张三\'), (\'age\', 18), (\'gender\', \'男\')] Process finished with exit code 0
三、集合set
1.定义
注意:要创建一个空集合只能用set(),不能用用{},因为后者创建的是一个空字典
2.集合的常用方法
集合的方法比较简单,常用增加元素add,删除元素pop()、remove()
set1 = {1, \'python\', \'a\', 2, \'a\', 3, 4, \'python\', 5, 6} print(set1) # 去掉重复的元素 li = [79, 1, 89, 3, 90, 5, 89, 321, 66, 7] li = list(set(li)) # 利用set()转换成集合去重 print(li) dic = {} # 表示空字典, 空集合用set() set1 = set() print(type(dic), type(set1)) # type()是python内置函数,用于查看数据类型 set1.add(1) set1.add(2) print(set1) set1.pop() print(set1) set1.remove(2) print(set1)
运行结果:
C:\\software\\python\\python.exe D:/myworkspace/test/test/test.py {1, 2, 3, 4, 5, 6, \'python\', \'a\'} [1, 321, 3, 66, 5, 7, 79, 89, 90] <class \'dict\'> <class \'set\'> {1, 2} {2} set() Process finished with exit code 0
以上是关于7python基本数据类型之散列类型的主要内容,如果未能解决你的问题,请参考以下文章