入门Python之——字典与集合(包含函数)(七)

本期学习复杂数据类型之字典与集合

字典

字典定义:字典是一个无序的数据类型

定义字典:使用{}或者dict()来进行定义字典

优势与劣势:方便查询,浪费时间,以牺牲空间换取时间。

关键点:字典的键一般都使用字符串,且不能重复(键可以使用任何不可变数据类型)

字典常用函数使用:
len : 获取长度
dict_1 = {"a": 1, "b": 2, "c": 3}
print(len(dict_1))#打印字典的长度
获取键对应的值
dict[key] : 来获取键对应的值,若没有则报错。
dict.get(key)通过get来获取的值即使没有也不会报错
dict_1 = {"a": 1, "b": 2, "c": 3}
print(dict_1["a"])
print(dict_1.get("a"))#获取字典相应键对应的值
修改/新增
dict(key)= value
dict_1 = {"a": 1, "b": 2, "c": 3}
dict_1["键名"] = 新值
#在字典后的中括号里写键名,后等于新增键值。即可新增或者更改。
删除
value = dict. pop(“key”)
删除指定键值对 , 并且返回对应键的值(value)
(key, value) = popitem()
删除键值对并且返回元组数据, 默认删除最后一个放进去的
dict_1 = {"a": 1, "b": 2, "c": 3}
a = dict_1.pop("键名")#删除指定键值对,并返回删除的键对应的值。
(key, value) = dict_1.popitem()#默认删除最后一个放进去的键值对,并返回元组数据。
清空
dict.clear()
dict_1 = {"a": 1, "b": 2, "c": 3}
dict_1.clear()
#清空字典
合并
dict.update(dict2)
将dict与dict2合并,如果有相同键以第二个字典的为准,将第二个合并到第一个
dict_1 = {"a": 1, "b": 2, "c": 3}
dict_2 = {"a": 1, "b": 2}
dict_1.update(dict_2)
#将dict与dict2合并,如果有相同键以第二个字典的为准,将第二个合并到第一个
遍历
keys
获取所有的键
values
获取所有的值
items
获取所有的键值对
dict_1 = {"a": 1, "b": 2, "c": 3}#获取所有的键
for i in dict_1.keys:
    print(i)
dict_1 = {"a": 1, "b": 2, "c": 3}#获取所有的值
for i in dict_1.values:
    print(i)
dict_1 = {"a": 1, "b": 2, "c": 3}#获取所有的键值对
for i in dict_1.items:
    print(i)

集合(set)

集合定义:一系列不重复元素无序放在一起,元素均为不可变类型。

集合声明:a = set() 声明空集合, 可使用a = {}声明非空集合

集合常用函数方法
添加元素
set . add(元素) : 已有元素不添加 , 没有返回值
set . update() :将后边的可迭代类型合并到前边
set_1 = {1, 2, 3, 5, 6}
l = [1, 2, 9]
set_1.add(元素)#已有元素不添加,没有返回值
set_1.update(l)#将后边可迭代类型合并到前边,已有元素不添加
移除元素
set . pop() : 随即删除元素 , 没有元素时报错
set . remove() : 按照元素删, 没有时报错 , 没有返回值
set . discard() : 删除元素,没有元素时不会报错
set_1 = {1, 2, 3, 5, 6}
set_1.pop()#随机删除元素, 没有元素时报错
set_1.removea(1)#按照元素删除,没有时报错,没有返回值。
set_1.discard(1)#删除元素,没有时不报错
清空
set . clear() : 清空
set_1 = {1, 2, 3, 5, 6}
set_1.clear()#清空数组
访问
len : 获取元素个数
in 与 not 两个成员数运算符
set_1 = {1, 2, 3, 5, 6}
print(len(set_1))#获取元素个数,即长度

if 1 in set_1:#成员运算符in:是, not in: 不是
    print("是")
集合运算
交集
&
interestion()
set_1 = {1, 2, 3, 5, 6}
set_2 = {1, 2, 3}
print(set_1&set_2)#输出两个集合都有的元素
#输出:1,2,3
并集
|
union()
set_1 = {1, 2, 3, 5, 6}
set_2 = {7,8}
print(set_1|set_2)#输出两者全部元素,不重复
#输出1,2,3,4,5,6,7,8
差集
-
difference()
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A - B
{'物理', '生物', '化学'}
>>> B - A
{'政治', '历史', '地理'}
#输出两个集合没有重叠的部分,两个集合不合并输出,单个输出
补集
^
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A ^ B
{'历史', '地理', '生物', '物理', '政治', '化学'}
#两个集合合并输出,输出没有重叠的部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值