7 函数
一、集合(set)
特点:不允许有重复元素,如果添加重复元素,则会自动过滤,可以进行交集、并集的运算。
本质:无序且无重复元素的数据结构
1 创建集合
s1 = set() #空集合 不能是{},这是字典
s2 = {1,2,3,4}
print(s1)
print(set([30,40,50])) #通过列表创建
print(set((11,22,33))) #通过元组创建
print(set('hello')) #通过字符串创建
print(set({'name':'大宝','age':20})) #通过字典创建,得到一个键的集合
#注意:重复元素在set中会被自动过滤
2 集合操作
#1 增加
#add添加不可变元素
s1.add(5)
# s1.add([6,7]) #不能添加列表,列表和字典都是不可哈希的
s1.add((6,7)) #可以添加元组元素,元组是可哈希的
print(s1)
#set.update(s) s必须是可迭代的对象:列表、元组、字符串、字典
#update会把列表、元组、字符串打碎添加到集合中
s1 = {1,2,3,4}
s1.update([5,6])
s1.update((7,8))
s1.update('hello')
s1.update({'1':10,'2':20}) #将字典的键添加到s1
print(s1)
#2 删除
#set.remove(elem)
set3 = {1,2,3,4,5,6}
set3.remove(4) #直接删除指定元素
print(set3)
print(set3.pop()) #删除任意元素,并返回该元素的值
print(set3)
set3.discard(10) #删除的元素不存在,不会报错
#set3.remove(10) #如果元素不存在,则报错:KeyError
#3元素个数
print(len(set3))
#4 成员操作
print(2 in set3) #True
#5 并、交、差集
s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print(s1 | s2) #并
print(s1 & s2) #交集
print(s1 - s2) #差集
二、补充
2.1数据类型的转换
函数名 | 函数值 |
---|---|
int(x) | 将x转换为int类型 |
float(x) | 将x转换成浮点型 |
str(x) | 将x转换成字符串 |
bool(x) | 转换成bool类型 的True False |
dict(x) | 将序列x转换成字典 |
list(x) | 将序列x转换成列表 |
set(x) | 将序列x转换成集合 |
tuple(x) | 将序列x转换成元组 |
###2.2布尔值
在python中,能够解释为假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串),其它是真
2.3 zip函数
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法:zip(iterable1,iterable2, …)
参数说明:iterable – 一个或多个可迭代对象(字符串、列表、元祖、字典