set集合

set集合:

本质上也是一个无序的集合,类似字典,但是只存储了字典中的key,没有存储字典中的value。
1.set集合中元素也是唯一的
2.set集合中元素也是不可改变的

创建set集合:
set1 = set() #创建空的set集合
set2 = {1,2,3} #创建一个具有元素的set集合
set3 = set([]) #创建set集合

set1.add(else)
功能:向set1中添加元素
注意:当添加元素与set集合中元素出现重复的时候,不会有任何效果,但并不报错。添加的元素必须是不可变类型的,如添加可变元素则会报错。

set1 = {1}
set1.add("hello")    #{1, 'hello'}

set1.update(序列)
功能:将序列中的元素打碎插入到set1中
注意:使用update函数的时候,其参数一定是序列

set = {1}
set1.update("hello")    #{1, 'e', 'o', 'h', 'l'}

set1.remove(ele)
功能:将指定元素移出

set1 = {1,2,3}
set1.remove(1)
print(set1)    #{2, 3}

set集合的遍历

for x in set1:
	pass

for x in set1:
    print(x)
    #1
    #2
    #3

set1 & set2 获取集合的交集(两个集合重叠的部分)
set1 | set2 获取集合的并集(两个集合的所有元素去除重叠的部分)

set1 = {1,2,3,4,5,6}
set2 = {4,5,6,7,8,9}
print(set1 & set2)    #{4, 5, 6}
print(set1 | set2)     #{1, 2, 3, 4, 5, 6, 7, 8, 9}

类型转换:
list1 = [1,2,3,4]
tuple1 = (“a”,“b”,“c”,“d”)
set1 = {“I”,“II”,“III”,“IV”}
dict1 = {“1”:“hello”,“2”:“hi”,“3”:“haha”,“4”:“heihei”}

将其它的数据类型转为list

    print(list(tuple1))    #['a', 'b', 'c', 'd']
    print(list(set1))     #['II', 'I', 'IV', 'III']
 	#将字典使用list转换的时候,只转换了key没有转换value
	print(list(dict1))    #['1', '2', '3', '4']

将其它的数据类型转为tuple

print(tuple(list1))    #(1, 2, 3, 4)
print(tuple(set1))     #('II', 'I', 'IV', 'III')
#只转换了key    
print(tuple(dict1))    #('1', '2', '3', '4')

将其它的数据类型转为set

print(set(tuple1))    #{'c', 'b', 'a', 'd'}
print(set(list1))     #{1, 2, 3, 4}
#只转换了key
print(set(dict1))    #{'3', '4', '1', '2'}

将其它的数据类型转为字典
当列表为二维列表,并且二维列表的元素是成对的,也是就说二维列表的元素只有两个
的情况下,是可以进行转换的

print(dict([(1,(1233,22)),[2,3]]))    #{1: (1233, 22), 2: 3}
print(dict(((1,2),(2,3))))    #{1: 2, 2: 3}
print(dict({(1,2),(3,4)}))   #{1: 2, 3: 4}

3、列表生成式
本质上就是将for循环强制写在一行,把结果写在for循环的最前面,然后使用[]括起来,得到的就是一个有结果集组成的一个列表。

使用一行代码打印list = [1,2,3,4…100]

print(list(rang(1,01)))

使用一行代码实现list = [1,4,9,16,25,…10000]

print([ x*x for x in range(1,101) if x%3])

可迭代对象:
能直接作用于for循环的对象我们统称为可迭代对象
常见的可迭代对象:
1.list,set,dict,tuple, str, range
2.生成器:一边循环一边计算的这种机制我们称之为生成器(可以不断推算下一个元素)
注意:生成器只能迭代一边
生成器的优点:节省内存空间
创建生成器:
list1 = [result for x in range(m,n)]
g1 = (result for x in range(m,n))

迭代器:
不但能够作用于for循环,还可以被next函数调用,不断返回下一个值,这样的对象我们就称之为迭代器。
可以通过iter()函数将可迭代对象转为迭代器

isinstance(object,type)
判断某个对象是否属于某种类型

from collections import Iterator

g = (x for x in range(10))
print(isinstance(g,Iterator))    #True

迭代器与可迭代对象的关系:
迭代器一定是可迭代对象,可迭代对象不一定是迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值