python Day6 字典与集合


Python 字典与集合


字典
字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:
dict = {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’}

也可如此创建字典:
dict1 = { ‘abc’: 456 }
dict2 = { ‘abc’: 123, 98.6: 37 }

访问字典里的值
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}
print ("dict[‘Name’]: ", dict[‘Name’])
print ("dict[‘Age’]: ", dict[‘Age’])
输出如下:
dict[‘Name’]: Runoob
dict[‘Age’]: 7
如果用字典里没有的键访问数据,会输出错误如下:
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}

print ("dict[‘Alice’]: ", dict[‘Alice’])

以上实例输出结果:

Traceback (most recent call last):
File “test.py”, line 5, in
print ("dict[‘Alice’]: ", dict[‘Alice’])
KeyError: ‘Alice’

修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}

dict[‘Age’] = 8 # 更新 Age
dict[‘School’] = “菜鸟教程” # 添加信息

print ("dict[‘Age’]: ", dict[‘Age’])
print ("dict[‘School’]: ", dict[‘School’])
以上实例输出结果:

dict[‘Age’]: 8
dict[‘School’]: 菜鸟教程
字典元素的删除:
del的运用:
del dirct[‘x’] 删除某个元素
del dirct 删除整个字典,删除后字典将不再存在。
特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。如下实例:
dict = {[‘Name’]: ‘Runoob’, ‘Age’: 7}

print ("dict[‘Name’]: ", dict[‘Name’])

以上实例输出结果:

Traceback (most recent call last):
File “test.py”, line 3, in
dict = {[‘Name’]: ‘Runoob’, ‘Age’: 7}
TypeError: unhashable type: ‘list’

字典内置函数&方法
在这里插入图片描述
在这里插入图片描述

集合(set)
是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,…}
或者
set(value)
在这里插入图片描述
类似列表推导式,同样集合支持集合推导式(Set comprehension):

a = {x for x in ‘abracadabra’ if x not in ‘abc’}
a
{‘r’, ‘d’}

集合的基操
1.添加元素:
语法:s.add( x )
还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:
s.update( x )
x 可以有多个,用逗号分开。

在这里插入图片描述
2、移除元素

语法格式如下:
s.remove( x )
如果元素不存在,则会发生错误。

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
s.discard( x )

我们也可以设置随机删除集合中的一个元素,语法格式如下:
s.pop()

然而在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)。

在这里插入图片描述
3、计算集合元素个数

语法格式如下:
len(s)

4、清空集合

语法格式如下:
s.clear()

5、判断元素是否在集合中存在

语法格式如下:
x in s
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

集合内置方法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值