python数字类型分为三类_7、python基本数据类型之散列类型

前言:python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍散列类型。

一、散列类型

内部元素无序,不能通过下标取值

1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对

会替换前面的,value不需要唯一。

2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复。

注意:

d = {} 定义的是一个空字典

s = set() 定义的是一个空集合

二、字典dict

1.定义

用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对

会替换前面的,value不需要唯一。

value可以取任何数据类型,但key是不可变的,新增键值对后,key不可以修改,单value可以修改。

2.字典的常用方法

1)增

dic[key]=value 无则创建,若已有对应的key存在则修改该键值对的value

update():将一个字典的所有元素更新到另一个字典中 (简单来说,就是添加多个元素)

#字典 {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

keys():获取所有的键,可以用list将结果转成列表

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]{1, 2}

{2}

set()

Process finished with exit code 0

作者:miki_peng

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,请大家尊重原创,如要转载,请在文章页面明显位置注明出处,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/miki-peng/p/12228726.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值