Python基础:字典、集合的用法类型

字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;
字典是python基础数据类型当中唯一一个映射关系的数据类型;
由于字典无序,所以我们定义字典和字典生成之后的元素的顺序是不同的
字典key的类型只能是不可变数据类型(不可哈希数据类型)
字典value的类型可以是任意数据类型。(可哈希数据类型)
一、字典的定义,查看数据和类型

dic={‘name’;'zs','age':18,‘weight’:150}
print(dic)
print(type(dic))

二、字典的增删改查:
增加:
1、setdefault(指定键值):此种方法,如果键在字典中已经存在了,就不会覆盖字典中的值。

 dic={‘name’;'zs','age':18,‘weight’:150}
 dic.setdefault('height',170)
 print(dic)#{‘name’;'zs','age':18,‘weight’:150,'height':170}
 dic={‘name’;'zs','age':18,‘weight’:150}
 dic.setdefault('weight',170)   #weight值已经存在,其value值不会再改变。
 print(dic)        #{‘name’;'zs','age':18,‘weight’:150}

2、根据key值来设置值,如果key存在就直接覆盖掉原有的值

dic={‘name’;'zs','age':18,‘weight’:150}
dic['weght']=180
print(dic)   #{‘name’;'zs','age':18,‘weight’:180}

字典的删除:
pop、popitem、clear 、del 方法
pop 弹出,返回并删除指定键对应的值
popitem 随机弹出一个键值元组,这里随机的原因是因为字典无序
clear 清空字典
del 直接从内存中删除变量,打印的效果为报错

dic={‘name’;'zs','age':18,‘weight’:150}
dic.pop('name')       删除指定内容
print(dic)    #{'age':18,‘weight’:150}

   dic={‘name’;'zs','age':18,‘weight’:150}
   dic.popitem('name')
   print(dic)   #{'age':18,‘weight’:150}

   dic={‘name’;'zs','age':18,‘weight’:150}
   dic.clear()
   print(dic)   #{}
  

   dic={‘name’;'zs','age':18,‘weight’:150}
   del dic
   print(dic)    #报错

字典的修改:
(1).通过key来修改内容 info[key]=value
(2).update()方法

dic={‘name’;'zs','age':18,‘weight’:150}
dic['weght']=180
print(dic)   #{‘name’;'zs','age':18,‘weight’:180}

dic={‘name’;'zs','age':18,‘weight’:150}
dic1={‘name’;'赵四','height':180}
dic.update(dic1)
print(dic)   #{‘name’;'赵四','age':18,‘weight’:150,‘height’;180}

字典的查找:
5、查找操作

字典的取值
keys 返回一个包含字典所有key的列表
values 返回一个包含字典所有vaule的列表
get 以键取值,如果指定键不存在,默认返回None,可以指定返回内容
update 以字典格式更新指定键的内容,如果键不存在,创建键和值
items 返回字典键值呈元组形式的格式
len 测量字典,键值对的个数(整体)

dic={‘name’;'zs','age':18,‘weight’:150}
a=dic['name']
print(a)    #'zs'
b=dic.get('name')   #如果输出的内容不存在,将输出 None
 print(b)    #'zs'

key=dic.keys()      #dict_keys(['name', 'age', 'weight'])
value=dic.values()   #dict_values(['zs', 18, 150])
item=dic.items()      #dict_items([('name', 'zs'), ('age', 18), ('weight', 150)])
print(len(dic))    #输出key值的个数

formkeys()
tup=(1,2,3,)
ret=dic.formkeys(tup)
print(ret)   #{1:None,2:None,3;None}

字典的遍历:
in 判断指定的键是否在字典当中,即将被废除,之后我们python3用in
for …in … 通过for … in …:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。
not in 判断指定的键是否不在字典当中

dic={‘name’;'zs','age':18,‘weight’:150}
   for key in dic.keys():
   	print(key)    
   	for sky in dic
   	print(key)       都输出key值
for item in dic.items()
print(item)    #输出键值对

for key,value in  dic.items()
print(key,value)      #分别输出对应的键和值

集合:
集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的(具有自动去重功能)。

1.创建集合并且查看内容和类型

set1={'悟空','八戒'}
print(set1)
print(type(set1))    <class 'set1'>

2.添加操作
Add()、update()

set1={'悟空','八戒'}
set1.add('白骨精')
 print(set1)   #{'悟空','八戒','白骨精'}

set1={'悟空','八戒'}
 set2={'悟空','白骨精'}
 set1.update(set2)
 print(set1)   #  {'悟空','八戒','白骨精'}

3.删除操作
pop、remove、clear、del
pop() 随机删除一个元素
remove() 指定元素删除
clear() 清空集合
del() 删除集合内存地址

集合的遍历:

set1={1,2,3,4}
for i in set1:
    print(i)
1
2
3
4

关系测试:
1.交集(& 或者 intersection) 取公共部分
2.并集。(| 或者 union) 取去除重复部分内容
3.差集。(- 或者 difference)取set1或者set2中除去公共部分的内容
4.反交集。(^ 或者 symmetric_difference)
5.子集。(< 或者 issubset)
6.超集。(> 或者 issuperset)

set1={1,2,3,4}
set2={3,4,5,6}
print(set1&set2)
print(set1.intersection(set2))       
{3,4}

反交集:

print(set1.symmetric_difference(set2))
print(set1^set2)          
{1,2,,5,6,}

并集

print(set1.union(set2))
print(set1|set2)      
{1,2,3,4,5,6}

差集

print(set1_set2)
print(set1.difference(set2))     
{1,2}

子集

print(set1<set2)  False
print(set1.assubset(set2))  False

超集

print(set1>set2)
print(set1.issuperset(set2))  False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值