python学习笔记(11)——组合数据类型(2)

目录

一、集合

1.1 创建集合

1.2 集合的常见操作

1.3 集合推导式

二、字典

2.1创建字典

2.2 字典的访问

2.3 字典元素的添加与修改

2.4 字典元素的删除

2.5 字典推导式


一、集合

        python中集合(set)本身是可变类型,但是python要求放入集合中的元素必须是不可变类型,集合类型与列表和远足类型的区别就是,集合的元素无序但必须唯一。

1.1 创建集合

集合的表现形式为一组包括在中括号“[]”中由逗号“,”分割元素。使用大括号“{}”可以直接创建集合。

set_one = {1,1.1,'a',(2,5)}

集合与列表和元组不同,通过内置函数set()可以创建集合,函数的参数列可以为空。但是当使用{}创建集合时不能创建空集合。若使用set()函数创建非空集合需为该函数传入可迭代对象。

s1 = set([1,5,1])   #传入列表
s2 = set((2,8,5))   #传入元组
s3 = set('abc')     #传入字符串
s4 = set(range(5))  #传入整数列表
print(s1)
print(s2)
print(s3)
print(s4)

运行结果:

1.2 集合的常见操作

常见方法功能说明
add(x)向集合中添加元素x,若x已经存在时不做处理
remove(x)删除集合中的元素x,若x不存在则抛出KeyError异常
discard(x)删除集合中的元素x,若x不存在则不做处理
pop()随机返回集合中的一个元素,同时删除该元素,若集合为空,在则抛出KeyError异常
chear()清空集合
copy()复制集合,返回值为集合
isdisjoint(T)

判断集合与集合T之间是否有相同元素,没有返回Ture,有返回False

1.3 集合推导式

        集合依然可以利用推导式创建,集合推导式的格式与列表推导式格式相似,区别在于集合推导式外侧为大括号“{}”

{exp for x in set if cond}

        以上格式中遍历的可以时集合或者其他的迭代对象。集合推导式的其他格式可以通过列表推导式类比python学习笔记(10)——组合数据类型(1)

二、字典

        python中的字典以“键值对”的形式组织数据,利用“键”快速查找“值”,这个过程称之为映射。

2.1创建字典

        字典的表现类型为一组包含在大括号“{}”中的键值对,每一个键值对为一个字典元素,每个元素通过逗号“,”分割,每对键值对通过冒号“:”隔开。

{键1:值1,键2:值2,...键n:值n}

         字典的值可以是任意类型,但键不能是列表或字典类型。字典像集合一样使用“{}”包裹元素,因此字典也具有集合的特点:字典元素无序,键/值必须唯一。

字典可以通过"{}"直接创建,也可以通过内置函数dict()创建字典

d1 = {}        #创建空字典
d2 = {'A':'123','B':'456','C':'789'}
d3 = dict()        #创建空字典
d4 = dict({'A':'123','B':'456','C':'789'})

2.2 字典的访问

字典变量[键]

示例代码:

ct({'A':'123','B':'456','C':'789'})
print(d1['B'])

运行结果:

         也可以通过使用内置函数get(),根据键从字典中获取对应的值,若指定的键不存在则会返回默认的值(default)。语法格式:

d.get(key[,default])

d1 = dict({'A':'123','B':'456','C':'789'})
print(d1.get('A'))

运行结果:

        字典设计的数据分为键、值和元素(键值对),除了直接利用键访问值之外,还可以通过访问字典中所有键、值和元素的内置函数keys()、values()、items()其三者的返回值都是可迭代对象,利用循环可以遍历这些对象。

 示例代码:

dic = dict({'A':'123','B':'456','C':'789'})
print(dic.keys())       #获取所有的键
print(dic.values())     #获取所有的值
print(dic.items())      #获取所有的元素
for key in dic.keys():  #遍历keys的对象
    print(key)

运行结果:

2.3 字典元素的添加与修改

        字典支持通过为指定的键值或使用update()的方法添加或修改元素。

1.字典元素的添加

当字典中不存在某个键时新增该元素

字典变量[键] = 值

add_dict = {'name':'Tom','age':'21','height':185}
add_dict['weight'] = 70         #通过使用[]的方法增加元素
add_dict.update(gender='boy')   #通过使用update的方法添加元素
print(add_dict)

运行结果:

 2.字典元素的修改

        修改字典元素的本质时通过键获取值,再重新对元素进行赋值。

add_dict = {'name':'Tom','age':21,'height':185}
add_dict.update(name = 'jake')
add_dict['age'] = 23
print(add_dict)

运行结果:

2.4 字典元素的删除

1.pop()

根据指定键删除字典中的指定元素,若删除成功,该方法返回目标元素。

add_dict = {'name':'Tom','age':21,'height':185}
print(add_dict.pop('name'))
print(add_dict)

运行结果:

 2.popitem()

        随机删除字典中的元素,因为字典元素本身无序,没有第一项和最后一项之分,导致的随机删除。若删除成功popitem()返回被删除的元素。

add_dict = {'name':'Tom','age':21,'height':185}
print(add_dict.popitem())
print(add_dict)

运行结果:

 3.clear()

清空字典中的元素

add_dict = {'name':'Tom','age':21,'height':185}
add_dict.clear()
print(add_dict)

运行结果:

2.5 字典推导式

语法格式:

{new_key;new_value for key,value in dict.items()}

add_dict = {'name':'Tom','age':21,'height':185}
new_dict = {value : key for key,value in add_dict.items()}
print(add_dict)
print(new_dict)

运行结果:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值