python基础第五课 字典 集合

本文介绍了Python中的字典和集合。字典是一种键值对数据结构,键唯一且不可变,值可以是任意类型。而集合是无序且元素唯一的容器,可通过大括号或set()函数创建。文章讲解了字典的访问、修改及内置函数和方法,同时简述了集合的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,字典dict

 字典是花括号包围的,由键值对形式的任何数据类型,键值对里的键和值由冒号隔开,键值对之间由逗号隔开

特点是键唯一,值不必唯一;值可以是任何数据类型,但键是不可变的,如数字,字符,元组。

dict={'name':'tom',"age":21,"grade":2}
  • 访问字典:

print(dict['name'])
若访问字典里没有的键,则抛出异常

  • 修改字典

dict['name1']='anny' # 添加数据
print(dict)
dict['name']='anny'    #修改信息
print(dict)
del dict['name']   #删除一个元素 键 ‘name’
print(dict)
dict.clear()
print(dict)    #清空字典
del dict   #删除字典
print(dict)

  • 键的特性
    1,不允许一个键出现两次,如果键北赋值2次后,后一个值会被记住
dict={'name':'小红',"age":22,'name':'小明'}
print(dict['name'])    #结果为 “小明”
 2,键必须不可变,所以可以用数字,字符串,元组充当,用列表则不行
  • 字典的内置函数和方法
    # 字典的内置函数
    # len(dict)
    print(len(dict))
    # str(dict)
    print(str(dict))
    # type()
    print(type(dict))
    # 字典的内置方法
    # .clear()  .copy()    fromkeys()  get()
    # key in dict    items()   keys()


二、集合set

 集合是一个无序唯一(不重复)的元素集合(使用希哈算法) 

创建时大括号或者set()函数

set1=set();  #空集合必须用set(),因为{}空时代表的是字典
set1={1,2.22,'a'}   #方式1
print(type(set1))
set1=set({1,2.22,'a'}) #方式2,建议用此方式
print(type(set1))
set1=set([1,2,3,'e'])  #列表转为set
print(type(set1))
set1=set({1:2.22,2:'a'})  #此形式输出键
print(set1)
set1=set({1:2.22,2:'a'}.values())  #箱输出值的话,输出键
print(set1)
# set1=set({1:[3,4],2:'a'}.values())  #值有列表,报错,键更不能是列表
# print(set1)
基本功能包括:关系测试和消除重复元素,还支持联合,交集,差和对称差等数学运算
s=set({1,2,3,'a',(4,5,6),False})
print(s)
s.add('b')  #增 若key不存在就添加,若key存在就不添加
print(s)
s.remove('a') #删。若若key存在就删除,若key不存在就抛异常
print(s)
# s.clear()  #清空内容
# print(s)
q=s.pop()  #随机删除一个元素,并返回删除的元素
print(q)

集合功能

a={2,3,4,5}
b=set({4,5,6,7})
print(a|b)   #联合  {2, 3, 4, 5, 6, 7}自动去掉重复,只要出现的全部提取
print(a&b)    #交  {4, 5}  重复的提取
print(a-b)    #差 {2, 3}   以a去掉重复的剩余数据
print(b-a)     #差{6, 7}  以b去掉重复的剩余数据
print(a^b)    #对称差集{2, 3, 6, 7} 各自不重复的数据提取
遍历

for i in a:
    print(i,end="")  #2345















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值